采集的方法很简单,只需要懂CSS选择器即可,如果不懂,也可以使用正则匹配,这个略复杂。

基础篇

基本采集规则

一般来说,最少要完成这么3个步骤:

  1. 要采集的文章列表URL
  2. 定位文章列表中链接
  3. 定位文章中的标题和内容

 要采集的文章列表URL

要采集的文章列表URL

有两种方式,一种是直接输入想抓取的页面链接,一种是通过URL规则来获取链接。两种方式只需要使用其中一种,也可以混合使用。

一般来说只需要使用第一种,但如果你想采集多个列表分页的话,可以使用URL规则。比如,想采集

  1. http://www.domain.com/list/01.html
  2. http://www.domain.com/list/02.html
  3. http://www.domain.com/list/03.html
  4. http://www.domain.com/list/04.html

这4个列表链接,先输入规则 http://www.domain.com/list/(*).html,然后选择2位数,从04即可。

定位文章列表中链接

定位列表中的链接

使用Chrome浏览器的开发者工具(F12)在列表页面找到文章链接的选择器,尽可能用一个唯一的选择器来定位所有的文章链接,如果实在做不到,还可以使用来源地址过滤将杂质过滤掉。

关于正则表达式的使用方法,我会在后面的案例中选择性讲解。

采集隐藏的文章分页

顺便说一下这里还有文章分页链接的检测方法,不是所有网站的文章都有分页,看情况进行设置。需要特别说明的是,有些文章分页只显示了部分链接,所以通过选择器无法获取到所有的分页,比如游侠网有些攻略文章分页有88页,但页面上只显示了一半,这就需要使用链接结构来智能获取了。打个比方,分页链接的结构是:

  1. http://www.domain.com/article/195412-1.html
  2. http://www.domain.com/article/195412-2.html
  3. http://www.domain.com/article/195412-3.html
  4. ...
  5. http://www.domain.com/article/195412-56.html

一共有56页,那么其正则结构应该是 [<*>]-[<index>].html,这个结构能够告诉系统,如何将索引数字获取到,然后从1-56进行重排,注意那个“-”非常重要,如果没有就会定位失败。

定位文章中的标题和内容

定位文章的标题和内容

来源标题一般填 title 即可,但这个选择器中通常带有杂质,还需要进行过滤,所以直接用css选择器定位文章标题是最好的选择。

抓取来源内容也没什么好说的,除此之外,还可以抓取来源文章的摘要和标签,如果来源文章里有这些内容的话。

基础篇到此结束,请看下一章节:进阶篇 - 魔法采集

喜欢这篇文章吗,不妨分享给朋友们吧!