您的位置:网站首页 > Java工具 > 正文

一篇文章看懂爬虫:优秀国产开源爬虫框架 WebMagic 剖析

类别:Java工具 日期:2018-11-19 5:38:39 人气: 来源:

  Response:服务端具体的返回,类型多种多样,有html页面、js代码、json串、css样式、流等等。

  xpath:xml径语言,具备很强的解析能力,chrome、firefox都有对应的工具生成xpath语法,可以很方便的对标准html文件进行解析。

  jsonpath:jsonpath是一个json解析的利器,非常类似于xpath语法,用非常简洁的表达式解析json串。

  css选择器:这里的css选择器和jquery有点类似,通过元素的css样式来定位元素,大名鼎鼎的jsoup提供丰富的css选择器

  ajax的普及,很多网站都采用了动态渲染的模式,请求不再是简单的返回html的模式,那么给爬取带来了巨大的难度,一般只能靠分析异步请求返回的json来具体分析,解析成我们需要的数据格式。还有一类是通过服务端内部转发来渲染页面,这类是最难的,请求不是通过浏览器来请求,而是再服务端跳转几次才渲染给浏览器,这时候需要使用模拟器来模拟请求,如selenium等。

  cookie:很多网站是要登陆后才能绕过filter才能访问,这时候必须模拟cookie

  user-agent:有的网站为了防爬虫,必须要求是真正浏览器才能访问,这时候可以模拟 user-agent

  请求加密:网站的请求如果加密过,那就看不清请求的本来面目,这时候只能靠猜测,通常加密会采用简单的编码,如:base64、urlEnco推背图全集de等,如果过于复杂,只能穷尽的去尝试

  曲线方案:对应pc端,很多网站做的防护比较全面,有时候可以改一下思,请求app端服务试试,通常会有意想不到的收获。

  网站通常的表现形式是一个页面超链接着另外的页面,理论上是无限延伸下去的,这时候必须设置一个爬取深度,不能无穷无尽的爬取。

  爬虫本质上只做了两件事情:请求和解析结果,但是爬虫的开发常困难的,需要不停的分析网站的请求,不停的跟随目标网站来升级自己的程序,试探解密、破解目标网站,把它当做网络攻防一点也不为过。

  webmagic 是一个优秀的国产爬虫框架、简单易用、提供多种选择器,如css选择器、xpath、正则等等,预留了多个扩展接口,如Pipeline、Scheduler、Downloader等。

  队列为空并且所有正在运行请求完成,且设置了exitWhenComplete为true,这时才会退出任务,这时候必须注意一点是,当页面请求过于慢,导致新解析的url来不及进队列,这时候任务退出导致爬取不完整。一般设置exitWhenComplete为lse,但是有时候两个爬虫,必须等上一个爬虫完成,才运行下一个爬虫,这时候就会出问题了。实现这种场景,得改一下webmagic源码

  有一点要注意,对于PageProcessor接口和Pipeline接口的实现,特别要注意线程安全的问题,不可对单例集合对象塞元素。

  本文由来源于325棋牌 325游戏中心唯一官方网站

关键词:webmagic
0
0
0
0
0
0
0
0
下一篇:没有资料

相关阅读

网友评论 ()条 查看

姓名: 验证码: 看不清楚,换一个

推荐文章更多

热门图文更多

最新文章更多

关于联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助

郑重声明:本站资源来源网络 如果侵犯了你的利益请联系站长删除

CopyRight 2010-2012 技术支持 FXT All Rights Reserved