htmlunit抓取动态网页(习近平出席上合成员国元首理事会会议会议)
优采云 发布时间: 2021-11-18 21:10htmlunit抓取动态网页(习近平出席上合成员国元首理事会会议会议)
一、HtmlUnit 介绍
HtmlUnit 是一个开源的网络分析工具。它模仿浏览器的操作,可用于网络爬虫。它的优点是:
1、模仿浏览器操作,可以点击相关网页操作;
2、支持css、js操作;
3、有对应的文档解析方法;
缺点:
1、速度慢,需要进行页面渲染等各种操作;
2、对jquery等的支持不理想;
二、例子
1、添加maven依赖
net.sourceforge.htmlunit htmlunit 2.24
2、代码示例
public class HtmlUnitCrawlerMain { public static void main(String[] args) throws Exception { htmlunitCrawler(); } static void htmlunitCrawler() throws Exception { String url = "http://www.ifeng.com/"; WebClient webClient = new WebClient(BrowserVersion.CHROME); WebClientOptions options = webClient.getOptions(); options.setTimeout(5000); options.setThrowExceptionOnScriptError(false); options.setCssEnabled(false); HtmlPage page = webClient.getPage(url); List eles = (List) page.getByXPath("//*[@id=\"headLineDefault\"]/h1/a"); if(Objects.nonNull(eles) && eles.size()>0){ String result = eles.get(0).asText(); System.out.println("ifeng headline is : " + result); } }}
运行结果:
ifeng 标题是:习近平出席上海合作组织成员国元首理事会会议