码迷,mamicode.com
首页 > 其他好文 > 详细

大三上寒假15天--第10天

时间:2020-02-11 00:30:29      阅读:76      评论:0      收藏:0      [点我收藏+]

标签:特殊   client   void   nload   scheduler   family   span   time   soup   

今天继续学习webmagic爬虫技术,组件包含:

1.Downloader

Downloader负责从互联网上下载页面,以便后续处理。WebMagic默认使用了Apache HttpClient作为下载工具。

2.PageProcessor

PageProcessor负责解析页面,抽取有用信息,以及发现新的链接。WebMagic使用Jsoup作为HTML解析工具,并基于其开发了解析XPath的工具Xsoup

在这四个组件中,PageProcessor对于每个站点每个页面都不一样,是需要使用者定制的部分。

3.Scheduler

Scheduler负责管理待抓取的URL,以及一些去重的工作。WebMagic默认提供了JDK的内存队列来管理URL,并用集合来进行去重。也支持使用Redis进行分布式管理。

除非项目有一些特殊的分布式需求,否则无需自己定制Scheduler

4.Pipeline

Pipeline负责抽取结果的处理,包括计算、持久化到文件、数据库等。WebMagic默认提供了输出到控制台保存到文件两种结果处理方案。

Pipeline定义了结果保存的方式,如果你要保存到指定数据库,则需要编写对应的Pipeline。对于一类需求一般只需编写一个Pipeline

webmagic有许多的方法,最重要的就是getSite()和process()方法

getSite()可以设置抓取间隔时间等,process用于对下载的html页面进行处理,抓取想要的结果,一般对这两个方法进行重写以完成爬虫程序。

对首都之窗信件的爬取页面规律的寻找又遇到了难题,下一页的链接都是javascript:void(0)死链接,网上说这种的都特别复杂,但是我发现url都是http://www.beijing.gov.cn/so/s?qt=%E4%BF%A1%E4%BB%B6&tab=all&siteCode=1100000088&page=3这个page=3可以动态修改来控制是哪一页,这个3代表第三页,也许这是一个突破点,我会继续努力。

大三上寒假15天--第10天

标签:特殊   client   void   nload   scheduler   family   span   time   soup   

原文地址:https://www.cnblogs.com/my---world/p/12293529.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!