先贴上github地址: https://github.com/ztyzly00/search
总体思想还是比较简单的,利用redis去重和php多进程的编程,精华在spider_start.php和HrefSearcher.php中。
多进程之间的变量协调也是利用了redis。(redis俨然成了我这种进程间通信白痴的救星)
过滤规则记录在MySQL中,在DB.sql文件中,新建scraper数据库并到其中执行一下就行了。
mysql的连接在Core文件夹下面的文件中,设计模式没有运用的很好,想到便随便写了,可能这方面改起来比较复杂。
一般来说如果硬盘和内存合格的话,占满千兆的公网是没有问题的。
新闻网站有新浪,新华等大型网站,国内新闻总量在2000w左右,其他各地区的新闻不抓取,要不内存和硬盘不够用。
过滤的命中率在75左右,可以php debug/hitrate.php来查看