网站类型和爬虫抓取类型

来源:互联网 发布:调音量软件下载 编辑:程序博客网 时间:2024/05/21 21:33

        网络爬虫的种类可以分为通用爬虫和主题爬虫两种,根据爬取的广度的不同,爬取方式可以分为特定爬取和广泛爬取。按照爬取方式的不同,网站又可以分为源码开放型和源码不开放型、登录可爬型和非登录可爬型。针对不同的网站,需要使用不同的爬取方式。

网站类型:

1、源码开放非登录可爬型

       这种类型的网站是最为普遍且最方便爬取的网站,我们只需要下载其源码并抽取需要的信息即可。抽取方式可以使用Jsoup工具和正则表达式匹配。Jsoup相对简单,对于初学者而言,极易上手。而通过正则表达式来匹配,则需要初学者对正则表达式有一定了解。本文建议可以先用Jsoup进行解析,然后对解析出来的结果有必要进行抽取的,再通过正则表达式进行匹配。注意有时候网站的标签会发生变化,这种变化可能会引起原来的Jsoup解析和正则表达式匹配不正确,在这种情况下,只能以变应变了。

2、源码开放登录可爬型

       这种类型的网站也比较多,它只对登录用户可见,或者对非登录用户部分可见,如知乎、清水河畔、CSDN等等。对于这种网站,需要爬取它的内容,就需要首先注册其网站,然后登录网站并抓包分析,在代码中实现登录功能后,就可以对其源码进行下载操作了。详细参考:HttpClient4.4登录知乎(详细过程)http://my.oschina.net/jiangmitiao/blog/483092?fromerr=ZYDEcWj7

https://github.com/MessiMercy/LoginZhihu

3、源码不开放非登录可爬型

      这种类型的网站不多,但是我也遇到过,如爬取新闻评论,我对腾讯、新浪和网易的新闻评论都进行了查看,发现其并不显示源码。针对这种网站,我们只能去寻找它的文档API,然后下载其API进行解析。我们可以通过在浏览器下按快捷键F12,在Source一栏寻找其API

特定爬取和广泛爬取:

所谓特定爬取和广泛爬取指的是是否针对特定网站进行的爬取,如果是,则为特定爬取,否,则为广泛爬取。特定爬取较简单,我们只需对其网站的标签进行分析,然后通过Jsoup工具或者正则表达式进行必要信息的抽取即可。而广泛爬取当然我们也可以按照特定网站爬取的方式对标签进行分析,只不过要分很多种类罢了,较为普遍的使用方法是通过抽取信息的共同特点,根据一些算法进行通用特征的抽取来实现全网爬取。例如,在我们需要爬取全网的新闻内容时,我们就可以采用基于行块分布函数的通用网页正文抽取算法来抽取新闻正文。 

还有一种下载源码需要响应网站的许可证,可以参考:

http://blog.csdn.net/mengxianhua/article/details/6045144

0 0