htmlunit第一个爬虫演示 目标网址http://ent.sina.com.cn/film/
基本都要放弃了
springmvc 配置了htmlunit之后无法运行,都不能正常实例化webclient,但是突然想起来用maven应用程序测试一下
结果竟然就可以了.好吧,还是有希望的
大佬博客
https://blog.csdn.net/johnson_moon/article/details/78457543
https://www.cnblogs.com/davidwang456/articles/8693050.html
第一步还是引用https://mvnrepository.com/自己查询最新版 本文发布日期2019-1-9
<!-- https://mvnrepository.com/artifact/net.sourceforge.htmlunit/htmlunit -->
<dependency>
<groupId>net.sourceforge.htmlunit</groupId>
<artifactId>htmlunit</artifactId>
<version>2.33</version>
</dependency>
还需要引用jsoup,用来解析页面什么的
<!-- https://mvnrepository.com/artifact/org.jsoup/jsoup -->
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.11.</version>
</dependency>
main方法中
public static void main(String[] args) {
final WebClient webClient = new WebClient(BrowserVersion.CHROME);//新建一个模拟谷歌Chrome浏览器的浏览器客户端对象
webClient.getOptions().setThrowExceptionOnScriptError(false);//当JS执行出错的时候是否抛出异常, 这里选择不需要
webClient.getOptions().setThrowExceptionOnFailingStatusCode(false);//当HTTP的状态非200时是否抛出异常, 这里选择不需要
webClient.getOptions().setActiveXNative(false);
webClient.getOptions().setCssEnabled(false);//是否启用CSS, 因为不需要展现页面, 所以不需要启用
webClient.getOptions().setJavaScriptEnabled(true); //很重要,启用JS
webClient.setAjaxController(new NicelyResynchronizingAjaxController());//很重要,设置支持AJAX
HtmlPage page = null;
try {
page = webClient.getPage("http://ent.sina.com.cn/film/");//尝试加载上面图片例子给出的网页
} catch (Exception e) {
e.printStackTrace();
} finally {
webClient.close();
}
webClient.waitForBackgroundJavaScript(30000);//异步JS执行需要耗时,所以这里线程要阻塞30秒,等待异步JS执行结束
String pageXml = page.asXml();//直接将加载完成的页面转换成xml格式的字符串
//TODO 下面的代码就是对字符串的操作了,常规的爬虫操作,用到了比较好用的Jsoup库
Document document = Jsoup.parse(pageXml);//获取html文档
List<Element> infoListEle =
document.getElementById("feedCardContent").
getElementsByAttributeValue("class", "feed-card-item");//获取元素节点等
infoListEle.forEach(element -> {
System.out.println(element.getElementsByTag("h2").first().getElementsByTag("a").text());
System.out.println(element.getElementsByTag("h2").first().getElementsByTag("a").attr("href"));
});
System.out.println("Hello World!");
没写为何这样区
所以我又用f12检查了一下
大概就是这样一个获取路线

输出内容如下
--- exec-maven-plugin:1.2.1:exec (default-cli) @ htmlUnitTest ---
十二月 12, 2018 7:24:32 下午 com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify
警告: Obsolete content type encountered: 'application/x-javascript'.
十二月 12, 2018 7:24:32 下午 com.gargoylesoftware.htmlunit.javascript.host.css.CSSStyleSheet isValidCondition
警告: Unhandled CSS condition type 'PREFIX_ATTRIBUTE_CONDITION'. Accepting it silently.
十二月 12, 2018 7:24:32 下午 com.gargoylesoftware.htmlunit.javascript.StrictErrorReporter runtimeError
严重: runtimeError: message=[An invalid or illegal selector was specified (selector: '*,:x' error: Invalid selector: *:x).] sourceName=[http://n.sinaimg.cn/lib/core/core.js] line=[1] lineSource=[null] lineOffset=[0]
十二月 12, 2018 7:24:32 下午 com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify
警告: Obsolete content type encountered: 'application/x-javascript'.
十二月 12, 2018 7:24:32 下午 com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify
警告: Obsolete content type encountered: 'application/x-javascript'.
十二月 12, 2018 7:24:32 下午 com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify
警告: Obsolete content type encountered: 'application/x-javascript'.
十二月 12, 2018 7:24:32 下午 com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify
警告: Obsolete content type encountered: 'application/x-javascript'.
十二月 12, 2018 7:24:32 下午 com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify
警告: Obsolete content type encountered: 'application/x-javascript'.
十二月 12, 2018 7:24:33 下午 com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify
警告: Obsolete content type encountered: 'application/x-javascript'.
十二月 12, 2018 7:24:33 下午 com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify
警告: Obsolete content type encountered: 'application/x-javascript'.
十二月 12, 2018 7:24:33 下午 com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify
警告: Obsolete content type encountered: 'application/x-javascript'.
十二月 12, 2018 7:24:33 下午 com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify
警告: Obsolete content type encountered: 'text/javascript'.
十二月 12, 2018 7:24:33 下午 com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify
警告: Obsolete content type encountered: 'text/javascript'.
十二月 12, 2018 7:24:33 下午 com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify
警告: Obsolete content type encountered: 'application/x-javascript'.
十二月 12, 2018 7:24:33 下午 com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify
警告: Obsolete content type encountered: 'application/x-javascript'.
十二月 12, 2018 7:24:33 下午 com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify
警告: Obsolete content type encountered: 'application/x-javascript'.
十二月 12, 2018 7:24:34 下午 com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify
警告: Obsolete content type encountered: 'application/x-javascript'.
十二月 12, 2018 7:24:34 下午 com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify
警告: Obsolete content type encountered: 'application/x-javascript'.
十二月 12, 2018 7:24:34 下午 com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify
警告: Obsolete content type encountered: 'application/x-javascript'.
十二月 12, 2018 7:24:35 下午 com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify
警告: Expected content type of 'application/javascript' or 'application/ecmascript' for remotely loaded JavaScript element at 'http://s.weibo.com/ajax/jsonp/suggestion?_cb=jQuery1112023857485591947847_1544613872640&Refer=sina_sug&_=1544613872641', but got 'text/html'.
十二月 12, 2018 7:24:35 下午 com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify
警告: Obsolete content type encountered: 'application/x-javascript'.
十二月 12, 2018 7:24:35 下午 com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify
警告: Obsolete content type encountered: 'application/x-javascript'.
十二月 12, 2018 7:24:35 下午 com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify
警告: Obsolete content type encountered: 'text/javascript'.
十二月 12, 2018 7:24:35 下午 org.apache.http.client.protocol.ResponseProcessCookies processCookies
警告: Cookie rejected [U_TRS1="00000097.43c95133.5c10efee.6370decc", version:0, domain:.sina.com.cn, path:/, expiry:Sat Dec 09 19:24:30 CST 2028] Illegal 'domain' attribute ".sina.com.cn". Domain of origin: "widget.weibo.com"
十二月 12, 2018 7:24:35 下午 org.apache.http.client.protocol.ResponseProcessCookies processCookies
警告: Cookie rejected [U_TRS2="00000097.43d75133.5c10efee.9b845144", version:0, domain:.sina.com.cn, path:/, expiry:null] Illegal 'domain' attribute ".sina.com.cn". Domain of origin: "widget.weibo.com"
十二月 12, 2018 7:24:35 下午 com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify
警告: Obsolete content type encountered: 'application/x-javascript'.
十二月 12, 2018 7:24:35 下午 com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify
警告: Obsolete content type encountered: 'application/x-javascript'.
十二月 12, 2018 7:24:35 下午 com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify
警告: Obsolete content type encountered: 'application/x-javascript'.
《狗十三》宣发方呼吁多排片:让电影再多留一会
http://ent.sina.com.cn/m/c/2018-12-12/doc-ihmutuec8610350.shtml
纪录片《二十二》国家公祭日重映 限定南京24影院
http://ent.sina.com.cn/m/c/2018-12-12/doc-ihqackaa6408040.shtml
真人版《刺猬索尼克》电影首曝海报 蓝色轮廓还原
http://ent.sina.com.cn/m/f/2018-12-12/doc-ihqackaa6293876.shtml
犯罪片《公路响马》首曝剧照 科斯特纳合作哈里森
http://ent.sina.com.cn/m/f/2018-12-12/doc-ihmutuec8580858.shtml
美国评论家选择奖公布提名 《宠儿》美国谍梦领跑
http://ent.sina.com.cn/m/f/2018-12-12/doc-ihmutuec8578964.shtml
星二代闪耀!史泰龙女儿与福克斯女儿合作新片
http://ent.sina.com.cn/m/f/2018-12-12/doc-ihmutuec8576402.shtml
钮承泽同学:他最爱抢人女友 涉嫌性侵并不惊讶
http://ent.sina.com.cn/m/c/2018-12-12/doc-ihqackaa6141554.shtml
加奈儿·梦奈加盟传记片《我的人生道路》
http://ent.sina.com.cn/m/f/2018-12-12/doc-ihmutuec8574196.shtml
《东邪西毒》翻拍电视剧?从剧情看跟原小说一致
http://ent.sina.com.cn/m/c/2018-12-12/doc-ihmutuec8571380.shtml
杰克·吉伦哈尔主演丹麦电影《罪人》英文翻拍版
http://ent.sina.com.cn/m/f/2018-12-12/doc-ihmutuec8570538.shtml
托尔·比约恩加盟新片《多哥》 威廉·达福主演
http://ent.sina.com.cn/m/f/2018-12-12/doc-ihmutuec8568073.shtml
朱迪·福斯特执导并主演英文翻拍版《战中女人》
http://ent.sina.com.cn/m/f/2018-12-12/doc-ihmutuec8562053.shtml
哈维尔·巴登与艾丽·范宁合作新片 饰演父女
http://ent.sina.com.cn/m/f/2018-12-12/doc-ihqackaa5931969.shtml
重启版《毒魔复仇》电影运作中 原导演参与制片
http://ent.sina.com.cn/m/f/2018-12-12/doc-ihqackaa5910954.shtml
《奇异博士》导演回归执导续集 康伯巴奇回归主演
http://ent.sina.com.cn/m/f/2018-12-12/doc-ihqackaa5848835.shtml
《“大”人物》曝预告 恶势力“活该挨打”喊出观众心声
http://video.sina.com.cn/p/ent/2018-12-12/detail-ihqackaa5833548.d.html
新版《霹雳娇娃》电影杀青 克里斯汀斯图尔特主演
http://ent.sina.com.cn/m/f/2018-12-12/doc-ihqackaa5801199.shtml
美国非裔影评人协会奖公布 《黑豹》获最佳影片
http://ent.sina.com.cn/m/f/2018-12-12/doc-ihmutuec8543573.shtml
澳洲电影与电视艺术学院奖公布提名 基德曼双提
http://ent.sina.com.cn/m/f/2018-12-12/doc-ihqackaa5684709.shtml
DC新片《猛禽小队》再添新反派 扎斯先生将登场
http://ent.sina.com.cn/m/f/2018-12-12/doc-ihqackaa5658377.shtml
《滚石》评选年度电影 《罗马》最佳《毒液》烂
http://ent.sina.com.cn/m/f/2018-12-12/doc-ihqackaa5556399.shtml
北美票房:《无敌破坏王2》三连冠 玛丽女王尚可
http://ent.sina.com.cn/m/f/2018-12-12/doc-ihmutuec8532172.shtml
视频:秦岚谈对宫崎骏印象最深的细节
http://video.sina.com.cn/p/ent/m/c/doc/2018-12-12/152569101314.html
《狗十三》这5年 曹保平焦华静张雪迎的个人故事
http://ent.sina.com.cn/original/qihua/gou13/
《海王》破8亿曝光“深海惊魂”正片片段 海沟族大战叹为观止
http://k.sina.com.cn/article_1744203407_v67f66e8f00100gx2r.html?from=ent&subch=film
《中国合伙人2》发布“双十二非凡”特辑 非凡网别样促销
http://k.sina.com.cn/article_1338816082_v4fccb65200100dvfp.html?from=ent&subch=film
组图:罗美兰金成均《1988》后再合作 为动画角色配音 9
http://slide.ent.sina.com.cn/film/k/slide_4_704_301475.html
《最萌警探》发布终极预告片,囧囧父子大发神威
http://k.sina.com.cn/article_3561759014_vd44c212600100fv4m.html?from=ent&subch=film
《大黄蜂》发布“蜂芒毕露” 预告 热血奋战肩负保卫地球使命
http://k.sina.com.cn/article_2126150055_v7eba79a700100dsak.html?from=ent&subch=film
贺岁最强喜剧《天气预爆》空降成都肖央常远当众开吃“火锅底料”
http://k.sina.com.cn/article_6413792050_17e4ab33200100de0n.html?from=ent&subch=film
Hello World!
------------------------------------------------------------------------
BUILD SUCCESS
------------------------------------------------------------------------
Total time: 11.129s
Finished at: Wed Dec 12 19:24:37 CST 2018
Final Memory: 7M/150M
------------------------------------------------------------------------
htmlUnit的输出内容
然后大概就是获取了
id叫做
的元素,然后再获取节点
然后再输出每个节点的 a标签的文字和href链接
htmlunit第一个爬虫演示 目标网址http://ent.sina.com.cn/film/的更多相关文章
- 爬虫框架Scrapy的第一个爬虫示例入门教程
我们使用dmoz.org这个网站来作为小抓抓一展身手的对象. 首先先要回答一个问题. 问:把网站装进爬虫里,总共分几步? 答案很简单,四步: 新建项目 (Project):新建一个新的爬虫项目 明确目 ...
- Python项目之我的第一个爬虫----爬取豆瓣图书网,统计图书数量
今天,花了一个晚上的时间边学边做,搞出了我的第一个爬虫.学习Python有两个月了,期间断断续续,但是始终放弃,今天搞了一个小项目,有种丰收的喜悦.废话不说了,直接附上我的全部代码. # -*- co ...
- python爬虫__第一个爬虫程序
前言 机缘巧合,最近在学习机器学习实战, 本来要用python来做实验和开发环境 得到一个需求,要爬取大众点评中的一些商户信息, 于是开启了我的第一个爬虫的编写,里面有好多心酸,主要是第一次. 我的文 ...
- java爬虫系列第一讲-爬虫入门
1. 概述 java爬虫系列包含哪些内容? java爬虫框架webmgic入门 使用webmgic爬取 http://ady01.com 中的电影资源(动作电影列表页.电影下载地址等信息) 使用web ...
- 我的第一个爬虫程序:利用Python抓取网页上的信息
题外话 我第一次听说Python是在大二的时候,那个时候C语言都没有学好,于是就没有心思学其他的编程语言.现在,我的毕业设计要用到爬虫技术,在网上搜索了一下,Python语言在爬虫技术这方面获得一致好 ...
- 孤荷凌寒自学python第八十天开始写Python的第一个爬虫10
孤荷凌寒自学python第八十天开始写Python的第一个爬虫10 (完整学习过程屏幕记录视频地址在文末) 原计划今天应当可以解决读取所有页的目录并转而取出所有新闻的功能,不过由于学习时间不够,只是进 ...
- 孤荷凌寒自学python第七十九天开始写Python的第一个爬虫9并使用pydocx模块将结果写入word文档
孤荷凌寒自学python第七十九天开始写Python的第一个爬虫9 (完整学习过程屏幕记录视频地址在文末) 今天在上一天的基础上继续完成对我的第一个代码程序的书写. 到今天终于完成了对docx模块针对 ...
- 孤荷凌寒自学python第七十八天开始写Python的第一个爬虫8
孤荷凌寒自学python第七十八天开始写Python的第一个爬虫8 (完整学习过程屏幕记录视频地址在文末) 今天在上一天的基础上继续完成对我的第一个代码程序的书写. 到今天止基本完成了对docx模块针 ...
- 孤荷凌寒自学python第七十七天开始写Python的第一个爬虫7
孤荷凌寒自学python第七十七天开始写Python的第一个爬虫7 (完整学习过程屏幕记录视频地址在文末) 今天在上一天的基础上继续完成对我的第一个代码程序的书写. 今天的学习仍然是在纯粹对docx模 ...
随机推荐
- python requests 高级用法
高级用法 本篇文档涵盖了 Requests 的一些高级特性. 会话对象 会话对象让你能够跨请求保持某些参数.它也会在同一个 Session 实例发出的所有请求之间保持 cookie, 期间使用 url ...
- fetchSql是3.2.3新增的连贯操作方法,用于直接返回SQL而不是执行查询。
fetchSql是3.2.3新增的连贯操作方法,用于直接返回SQL而不是执行查询. 例如: $result = M('User')->fetchSql(true)->find(1); 输出 ...
- csp-s模拟测试61砖块, 数字,甜圈题解
题面:https://www.cnblogs.com/Juve/articles/11626350.html 砖块: 直接模拟即可,map统计被覆盖的次数 #include<iostream&g ...
- vue如何关闭sourceMap
Vue打包后出现一些map文件的解决办法: 问题: 可能很多人在做vue项目打包,打包之后js中,会自动生成一些map文件,那我们怎么把它去掉不要呢? 1,运行 cnpm run build 开始 ...
- 解决git每次输入密码,设置gitlab、github默认push的用户名和密码
git ssh key配置&解决git每次输入密码 欢迎加入qq群(IT-程序猿-技术交流群):757345416 在使用git时,每次pull/push都需要输入密码,有时大大降低了我们 ...
- 左神算法进阶班4_2累加和为aim的最长子数组
[题目] 给定一个数组arr,和一个整数aim,求在arr中,累加和等于num的最长子数组的长度 例子: arr = { 7,3,2,1,1,7,7,7 } aim = 7 其中有很多的子数组累加和等 ...
- 前端之CSS初识
figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...
- visio去除直线交叉处的歪曲
1 问题描述 Visio画图时,两根直线交叉时,总是默认会出现一个跨线的标志,如下图所示: 2 解决办法 在2007前的版本,可以通过以下方式解决: 选中线条,然后菜单的格式->行为->连 ...
- 网络结构解读之inception系列一:Network in Network
网络结构解读之inception系列一:Network in Network 网上有很多的网络结构解读,之前也是看他人博客的介绍,但当自己看论文的时候,发现存在很多的细节和动机解读,而这部分能加深 ...
- [转]深入WPF--Style
Style 用来在类型的不同实例之间共享属性.资源和事件处理程序,您可以将 Style 看作是将一组属性值应用到多个元素的捷径. 这是MSDN上对Style的描述,翻译的还算中规中矩.Style(样式 ...