目前我正在开发一个网络爬虫。它应该解析一些特定的网站,并将结果保存成XML文件。到目前为止,还没有任何问题。这个爬虫可以通过一个cfg文件进行快速定制。我使用Jsoup来解析HTML内容。
我最近增加了一些网站,发现在使用JavaScript创建的HTML内容上有很大的问题。难道没有办法让Jsoup支持JavaScript吗?或者至少获取与浏览器中看到的完整HTML内容相同的内容。
我已经尝试过HtmlUnit,但效果不佳。它没有给我与浏览器中相同的内容。
诚挚地,
Ogofo
目前我正在开发一个网络爬虫。它应该解析一些特定的网站,并将结果保存成XML文件。到目前为止,还没有任何问题。这个爬虫可以通过一个cfg文件进行快速定制。我使用Jsoup来解析HTML内容。
我最近增加了一些网站,发现在使用JavaScript创建的HTML内容上有很大的问题。难道没有办法让Jsoup支持JavaScript吗?或者至少获取与浏览器中看到的完整HTML内容相同的内容。
我已经尝试过HtmlUnit,但效果不佳。它没有给我与浏览器中相同的内容。
诚挚地,
Ogofo
Jsoup并不支持JavaScript,也不会模拟浏览器。如果你计划执行JavaScript,请忘记它。在我的经验中,无头浏览器HtmlUnit为我提供了最好的结果(始终是针对Java框架)。
在HtmlUnit中值得尝试的一件事情是在创建WebClient实例时更改BrowserVersion(Chrome/InternetExplorer/FireFox)。有些网站会以不同的方式作出反应,有时候仅仅更改那个值可能会给你期望得到的结果。