php如何写爬虫?

php如何写爬虫?,第1张

据我所知,很多第三库都可以实现你所要求的这些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/>'

}

?>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11103491.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存