我已经写了一个php网络爬虫来索引只有180个特定来源的内容,但它平均每页需要2秒来分析,抓取和保存我想要的内容:图片,网址,标题,完整内容,摘录,标签。(有几种算法可以分析所有元标签以获得正确的数据)
我只抓取最新的9个文章页面,所以每个信息源需要18-25秒。
我创建了10个不同的cron作业(它们之间相隔6分钟),因此每个作业可以处理18个源(大约350秒)。
这似乎非常低效,特别是如果我想达到1000个源码的话。我应该修改什么?
ps:我正在一个共享主机上测试它,一个专用的服务器会大大减少时间吗?
cron作业类似于:
lynx -auth用户名:密码website.com/crawler.php?group=1
lynx -auth用户名:密码website.com/crawler.php?group=2
lynx -auth用户名:密码website.com/crawler.php?group=3等。
爬虫脚本访问数据库中的18个源,获取最新的9个文章页面并爬取内容,对其进行分析,并根据结果将其存储在数据库中。
发布于 2012-09-26 23:49:06
老实说,不要使用cron job来完成这个任务。设置一个守护进程,它将一直运行。如果它崩溃了,重新绘制,以此类推。
http://pear.php.net/package/System_Daemon
https://stackoverflow.com/questions/12605453
复制相似问题