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模 ...
随机推荐
- Spring Cache 简介
org.springframework.cache; org.springframework.cache.Cache org.springframework.cache.CacheManager 依赖 ...
- axios请求头几种区别:application/x-www-form-urlencoded
今天小伙伴问我们项目axios默认请求头是application/x-www-form-urlencoded;charset=UTF-8, 现在有个后端接口要求请求头方式为application/js ...
- webpack引入jQuery
1. 本地文件引入 配置 const webpack=require('webpack'); module.exports={ resolve:{ alias:{ //绝对路径 jQuery:path ...
- 关于新手必须要理解的几个名词,cookie、session和token
以下要说的,虽然不是开发过程中必须会遇到的,但却是进阶之路上必须要掌握的,一些涉及到状态管理与安全的应用当中尤为重要. 我之前虽略有学习,但也是东拼西凑临时看的一点皮毛,所以在这个假期利用一点时间,整 ...
- SPSS应用之非参数检验
SPSS应用之非参数检验 统计学的假设检验可以分为参数检验和非参数检验,参数检验是根据一些假设条件推算而来,当这些假设条件无法满足的时候,参数检验的效能会大打折扣,甚至出现错误的结果,而非参数检验通常 ...
- Solrj demo
pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="htt ...
- 【转载】unittest总结
本文转载链接:http://www.cnblogs.com/yufeihlf/p/5707929.html unittest单元测试框架不仅可以适用于单元测试,还可以适用WEB自动化测试用例的开发与执 ...
- PostgreSQL DISTINCT ON
https://stackoverflow.com/questions/3800551/select-first-row-in-each-group-by-group select DISTINCT ...
- python 解决抓取网页中的中文显示乱码问题
关于爬虫乱码有很多各式各样的问题,这里不仅是中文乱码,编码转换.还包括一些如日文.韩文 .俄文.藏文之类的乱码处理,因为解决方式是一致的,故在此统一说明. 网络爬虫出现乱码的原因 源网页编码和爬取下来 ...
- lc6 ZigZag Conversion
lc6 ZigZag Conversion 分成两步, 第一步垂直向下, 1 1 1 1 第二步倾斜向上 1 1 1 1 1 1 1 用nRows个StringBuilder 然后将他们合并即可 cl ...