2016-02-17 3 views
0

Я пытаюсь скопировать цены на сайт с помощью jSoup, но я получаю только пустую строку.Элементы возвращают пустую строку

Я проверил мой код с jSoup Online и я ожидаю, <meta itemprop="price" content="6,99"> быть распечатан, когда я использую следующий код:

Document doc = Jsoup.connect(URL).get(); 
Elements meta = doc.select("meta[itemprop=price]"); 
System.out.println("meta: " + meta.text()); 
price = meta.attr("content"); 

Однако, я просто получаю пустую строку и не ошибки. Что я здесь делаю неправильно?

Для тех, интересно, я пытаюсь скрести цену this page

ответ

1

Веб-сервер вы пытаетесь получить доступ нужен другой строки агента пользователя для ответа с информацией, которую , Попробуйте следующее:

Document doc = Jsoup.connect(URL).userAgent("Mozilla/5.0").get(); 
2

Попробуйте это:

Document doc = Jsoup.connect(URL).get(); 
Element meta = doc.select("meta[itemprop=price]").first(); 
System.out.println("meta: " + meta.text()); 
String price = meta.attr("content"); 
+0

Спасибо. Теперь я получаю исключение NullpointerException по мета: null. Однако, согласно jSoup Online, я должен получить результат, описанный в моем вопросе. – David

+1

Ваш URL-адрес одобрен? Как вы это заявили? – haihui

+0

String URL = ... Это должно работать, потому что я могу распечатать всю страницу с помощью System.out.println (doc); – David