据我所知,很多第三库都可以实现你所要求的这些php爬虫特征。
如phpQuery,phpCrawl,phpSpider,Snoopy。
如果使用curl,也是相当不错的。但你要做的事情更多。它只负责请求和下载,并没有实现爬虫的核心。别的事情都要自己做,至少你得先封装一下。
如果你任务比较紧迫,建议选择那些第三方库,集成一下,能用先用着。
业务时间还是了解一下爬虫的方方面面比较好。
xpath简单,拿到源码,交给phpQuery就可以,像使用jQuery一样,不需要正则。还有一些是需要动态渲染才能拿到数据的,得用无头浏览器,如phantomjs,去处理。
速度不会成为问题,有问题也是因为速度太快,被网站发觉然后屏蔽你,而不是太慢。哈哈。
个人认为比较难的是怎么针对反爬虫策略,怎么做全自动化。还是建议你去看几本关于爬虫的书。
其实用PHP来爬会非常方便,主要是PHP的正则表达式功能在搜集页面连接方面很方便,另外PHP的fopen、file_get_contents以及libcur的函数非常方便的下载网页内容。以下是访问某音乐网站,并获取其歌曲名等数组的示例,你可以参考:<?php
header('Content-type:text/htmlcharset=utf-8')
$doc = file_get_contents('http://www.songtaste.com/music/')
$pa = '{MSL\((.*)\)}'
preg_match_all($pa,$doc,$r)
for($i=0$i<count($r[1])$i++)
{
$r1 = explode(', ',$r[1][$i])
echo '歌曲标题:'. iconv('gb2312','utf-8',$r1[0]) .' 歌曲ID:'.$r1[1].'<br/>'
}
?>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)