PHP 写一个爬虫(v 友注意详细看正文详情)

2017-03-15 12:40:15 +08:00
 ydxred

接到一个任务要我写一个爬虫!可是我暂时只会 php,但是 php 写爬虫不是强项!v 友有用 php 写过爬虫的吗?有个开源项目推荐借鉴参考一下!或者说我现在去学习 python 星期五能完成好一个爬虫吗!爬出来的数据要写进数据储存的!谢谢了

3943 次点击
所在节点    程序员
35 条回复
golmic
2017-03-15 12:46:09 +08:00
有偿提供 python 爬虫解决方案
zqhong
2017-03-15 12:55:01 +08:00
gouchaoer 同学的爬虫经验分享: https://www.v2ex.com/t/324309

另外可以看下这个: https://github.com/owner888/phpspider
slince
2017-03-15 12:55:04 +08:00
https://github.com/slince/spider 确实不是强项,单线程爬的
shoaly
2017-03-15 12:56:34 +08:00
假设你 php 基本功 已经会数据库了 也会发出 get, post 请求 获取 response
那么你离 爬虫只差了一个 正则的距离
lecher
2017-03-15 12:59:38 +08:00
任何语言只要能发网络请求都可以写爬虫。
python 爬虫通常是用增强库,用来帮助解析网页数据。
php 写爬虫通常是用 curl 库+re 正则解析,可以借助 curl 的库做很多参数设置, header cookie 之类的。抽取数据是靠正则来做解析。需要自己写任务管理。
如果爬虫是强嵌入原有业务的,比如需要取很多业务数据做检测,那就用 php 继续写爬虫,封装一个 curl 的处理接口,然后写一个多进程任务管理,要用到命令行的库,通常要借助 mysql 、 redis 之类的做进程间数据同步。

如果仅仅只是为了一次性抓取数据, python 上手也很快,一周绰绰有余。
jarlyyn
2017-03-15 13:13:16 +08:00
ydxred
2017-03-15 13:17:14 +08:00
@lecher 大神,python 基本语法会啊!周五交能赶上吗? 今天周三了
icemanpro
2017-03-15 13:19:19 +08:00
火车采集
pubby
2017-03-15 13:39:56 +08:00
一直用 php 爬,按功能分开写(目标网址预处理,抓取,分析....),用队列。多开几个抓取进程同样可以跑满带宽。
fuxkcsdn
2017-03-15 13:44:52 +08:00
前提是你要爬什么?目标网站限制爬虫吗?如何限制

BTW , PHP 写爬虫效率不比 python 差

有偿提供 PHP 爬虫方案 XD
Felldeadbird
2017-03-15 14:21:05 +08:00
jquery 会吧。用这个库,分分钟教你做人。 https://querylist.cc/
keller
2017-03-15 14:24:05 +08:00
你需要的可能是火车头采集器
FYK
2017-03-15 14:29:14 +08:00
同 2 楼, phpspider
exalex
2017-03-15 14:38:12 +08:00
@pubby 有博客嘛
exalex
2017-03-15 14:38:26 +08:00
@fuxkcsdn 有偿是多少钱
cdwyd
2017-03-15 14:42:31 +08:00
同有偿,二楼优先😁
价格看复杂程度,平价接单
silov
2017-03-15 14:45:46 +08:00
分两步,第一步抓取: Snoopy.class.php
第二步解析内容: Simple Html Dom

两个关键词直接百度就可以把工具类拿来用了,挺简单的。
sxm
2017-03-15 15:08:57 +08:00
简单的就是 curl 获取页面内容,然后就是写正则提取需要的数据了。

之前某论坛要关闭,我是花了 2 个夜晚写了 PHP 抓取程序把那个论坛的数据都抓下来了并入库。因为单进程抓取速度太慢,又写了个多进程页面管理,前端页面能实时查看各个进程的抓取速度,开新进程或者结束指定进程等等。
curl 获取页面, redis 做队列, access 做数据库(喜欢单个文件数据库,小巧方便带走)
lijinma
2017-03-15 15:12:23 +08:00
这帮人,每人推荐个靠谱的。。
lijinma
2017-03-15 15:12:41 +08:00
我来推荐个靠谱简单的 https://github.com/FriendsOfPHP/Goutte

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/347589

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX