【问题标题】:Jsoup is unable to fetch complete content from a webpage (No errors/exceptions, but misses some content)Jsoup 无法从网页中获取完整的内容(没有错误/异常,但遗漏了一些内容)
【发布时间】:2011-12-28 16:08:35
【问题描述】:

我正在尝试使用 JSOUP 从以下页面获取内容:

http://www.exchangeandmart.co.uk/used-cars-for-sale

但它不会获取 id=results 的 div,即使当我从浏览器打开相同的链接时它是可见的。请帮帮我

Java 代码:

Connection connection = Jsoup.connect("http://www.exchangeandmart.co.uk/used-cars-for-sale");
Document doc = connection.get();
System.out.println(doc.getElementById("results")); // prints null

注意:下载页面时没有异常或错误。仅缺少页面中的部分内容。我用 System.out.println(doc); 在控制台上打印了整个文档,它与我在浏览器中查看的页面完全不同。

【问题讨论】:

  • doc.toString() 有输出吗?如果不是,则问题在于建立与服务器的连接并下载数据。
  • @SYLARRR 我已经编辑了我的答案,请再看一下。
  • 你碰巧使用Android的JSoup吗?在这种情况下,可能会显示移动网页,其中不包含 ID 为 results 的元素。

标签: javascript java web-scraping jsoup


【解决方案1】:

Document doc = Jsoup.connect("http://www.exchangeandmart.co.uk/used-cars-for-sale").userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.120 Safari/535.2").get();

现在页面应该呈现为从 PC 上的 Chrome 访问。

【讨论】:

  • 让我检查一下,我在我的电脑上使用它,但不是在安卓上。但让我们希望一切顺利。
  • 哦,天哪,这很有效,而且效果很好。谢谢ssssssss非常感谢感谢
  • 但是我在PC上使用它,那为什么不做userAgent的东西就不能工作
  • 原因很简单:当你从你的PC上用Jsoup访问网页时,默认的useragent字符串是APPACHECLIENT 1.4 \ UNKNOWN。而且看起来http://www.exchangeandmart.co.uk 网站不知道如何处理这种用户/浏览器。
  • 它不起作用。请启用 javasscript。因为当我使用 chrome 链接并转到页面源时,我看不到所有元素,但是当我单击检查元素时,我可以看到任何东西。
猜你喜欢
  • 2015-09-14
  • 1970-01-01
  • 1970-01-01
  • 2020-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-13
  • 2016-04-23
相关资源
最近更新 更多