WordPress自动采集插件Crawling附带教程

Crawling是一款Wordpress下的自动采集爬虫插件,能够自动采集爬取目标网站内容并自动发布。

一、写在前面

首先声明一下,我其实并不是搞PHP的,写代码一般都是用的C++和Python。对于PHP,只是很多年前自己做博客写了几天。最近换工作等着离职,没事做,所以写个插件玩玩。如果觉得不好用的地方,请给我些建议。好的建议我会采纳,争取把这个插件做得更好。

在开发这个插件的时候,已经考虑到了尽量让配置更简单易懂。但是为了使插件更灵活,所以还是需要了解一下正则和xpath规则。如果你懂,我相信这个教程一你看就会明白了,完全没有什么难度。如果你之前没有接触过正则和xpath也没关系,因为其实真的不需要懂,只要看例子copy就行了。因为是第一个版本,所以可能有些地方写的不太详细,欢迎大家指出来。

二、下载和安装

首先,打开http://crawling.cn下载最新版,得到crawling_v*.tar.gz。

然后,解压压缩包,上传到wordpress插件目录。激活插件。

三、任务管理

一个任务可以理解为一个爬虫,在这里你可以配置多个任务,每个任务可以单独设置参数。

比如,这里我设置了三个任务,如图:

第一个任务是爬取“且听风吟”(这是我比较喜欢的一个电影网站)的全部内容,抓取间隔设置为-1表示只采集一次,不会重复执行。

第二个任务是爬取“且听风吟”的前三页,如果采集过的不会重复采集,只会抓取前三页的更新的内容。每隔24小时采集一次。

第三个任务是爬取“阳光电影网”(这是电影天堂的新网站)的首页的全部更新的电影,因为阳光电影所有的更新都在首页。每隔24小时采集一次。

每个任务单独设置的参数,如图:

下面是每个任务的设置:
1 任务名称:

每隔任务的别名,方便好记而已,没有其他作用。
2 入口网址:

每个任务爬虫开始的地址。这个网址一般是首页或者列表页。然后爬虫会从这个页面开始采集。
3 爬取间隔时间:

每隔任务(爬虫)运行的间隔时间。
4 列表页面url正则/内容页面url正则:

爬虫进入第一个网址(入口网址)后需要区分哪些是需要采集的内容页面。所以需要设置匹配的内容页面url正则表达式。

爬取还需要知道如何进行翻页,寻找更多的内容页面,所以需要设置列表页面url的正则表达式。

例如:抓取“且听风吟”整站的内容

打开网站首页www.qtfy.cc。发现所有的列表页面网址都为http://www.qtfy.cc/page/数字,而内容页面网址都为http://www.qtfy.cc/ysyl/数字.html

列表页面

内容页面

所以正则表达式如下:

列表页面url正则:\/page/[1-9]\d*$
内容页面url正则:\/[1-9]\d*.html$

如果只需要采集前三页更新的内容,只需要把列表页面的正则表达式改为\/page/[1-3]$。

配置这两个参数时可以打开《正则表达式在线测试》页面测试。
5 文章标题(xpath)/文章内容(xpath):

进入内容页面后,爬虫要选择抓取的内容,比如文章的标题和文章的正文。所以需要设置xpath来告诉爬虫。

例如:

打开且听风吟的一个页面,如:http://www.qtfy.cc/ysyl/14352.html。通过浏览器查看页面源代码,如图:

可以看到,文章的标题是包含在

同样,通过上图可以看见:内容是包含在

之后开始的。

所以内容起始字符串设置为:

因为文章内容后面并没有多余的部分,所以后面不用过虑,内容结束字符串设置为空就可以了。
7 文章图片:

选择要保存到的分类,和wordpress一样,可以选择多个分类。
9 文章标签:

每个任务可以单独设置标签,多个标签用|分隔。
10 发布方式:

可以选择“立即发布”或者“放入草稿箱”。

四、高级选项
爬取线程数:

这个选项根据自己的主机配置来设置。如果是在独立主机上,可以设置成多线程采集,比如同时开10个线程。如果是在虚拟主机上,不要设的太大,不然CPU占用太高被封站。
抓取延时:

每个页面采集过后的延时,防止采集过快。这个参数也是为了防止网站虚拟主机和被采集网站因为采集太快而禁止访问。

五、最后

配置完之后,剩下的就是等待插件执行了,如果执行到一半想要终止程序,可以切换插件运行状态,在“任务管理”页面的顶部。

此文由“快兔兔AI采集器”自动生成,目的为演示采集器效果,若侵权请及时联系删除。

原文链接:http://www.360doc.com/content/17/0512/10/34211216_653211920.shtml

更多内容