小弟的公司需要我去研究爬虫,但是网上的资料太过零散,买了一本《 WEBBOTS 、 SPIDERS 和 SCREEN SCRAPERS 技术解析与应用实践》,也从官网下载了这本书的一些 demo ,但是不知道是什么原因,一些代码运行不起来,也没有报错,也因为是中文版,所以翻译的一些地方看的不是很明白,请大神们帮忙推荐几本最好是 php 的书,小弟不会 python ,还请各位大神帮忙 推荐一些纯 PHP ,或者 php+python 入门的这些爬虫书籍,谢谢
1
knightdf 2015-12-07 15:54:19 +08:00
这还需要买书?
|
2
ihipop 2015-12-07 16:17:46 +08:00
|
3
ryd994 2015-12-07 16:37:12 +08:00 via Android
没见过 PHP+Python 的组合
PHP 做爬虫合适么? |
7
Moker 2015-12-07 16:47:22 +08:00 1
php 的话 你可以去看下 phpquery
|
8
iyaozhen 2015-12-07 16:50:16 +08:00
@ryd994 额,我感觉 curl 很方便的,什么事都能干。还请指教。
当然我没做过大规模的爬虫。而且受环境限制 Python 只用过 urllib 、 urllib2 ,感觉不是很方便。 |
9
iyaozhen 2015-12-07 16:52:29 +08:00
@Moker 这东西很好,另外强烈推荐: https://github.com/bupt1987/html-parser
|
10
matsuijurina 2015-12-07 16:58:23 +08:00 1
PHP 并不是最适合写爬虫工具的语言。一定要用的话,推荐这本书 《 PHP Web Scraping 》。不过我觉得你迟早会回过头来找 python 的 beautifulsoup ,以及 javascript 的 phantomjs 的
|
11
theKingOfTerrors OP @matsuijurina 谢谢,我看到了这本书,但是只找到了英文版,我的英语水平勉勉强强,看这种书,会很难理解,有中文版吗
|
12
theKingOfTerrors OP @knightdf 菜鸟一枚,之前都没有弄过这些东西,还希望能够多多指教
|
14
zjyExcelsior 2015-12-07 17:48:47 +08:00
大神们一般会告诉你 -> 用 Python
|
15
jiehuangwei 2015-12-07 18:00:43 +08:00
用PHP写也还行,看个人的熟练程度了,大型的爬虫系统不局限于开发语言,而在于架构,通常说的爬虫大部分是抓取网页内容而已,用什么语言关系不是太大
|
16
lydhr 2015-12-07 18:04:15 +08:00
scrapy
|
17
theKingOfTerrors OP @lydhr 这是什么东西
|
18
theKingOfTerrors OP @jiehuangwei 就是因为不会啊,烦透了,买了一本书,里面有的 demo 不知道什么鬼
|
19
lydhr 2015-12-07 18:05:44 +08:00 1
@theKingOfTerrors 一个 framework ,教程很详细的[link]( http://scrapy.org/)
|
20
xiasix 2015-12-07 18:08:45 +08:00
curl 多线程+phpquery 研究透了 做爬虫没问题
|
21
theKingOfTerrors OP @lydhr 嗯, thanks
|
22
theKingOfTerrors OP @xiasix 麻烦问一下,您手里有没有资料,这样能给我省一些时间,谢谢
|
24
yytsjq 2015-12-07 18:56:32 +08:00
PHP 命令行模式 + Simple HTML DOM Parser
|
25
ryd994 2015-12-07 19:04:21 +08:00
|
26
xiaoyu9527 2015-12-07 19:42:03 +08:00
我也没找到 python 的爬虫教程(或者没找到比较完善的,感觉都是一部分一部分的教)
|
27
HentaiMew 2015-12-07 19:52:24 +08:00
那些说爬虫简单的... 其实你们在写“轮循 HTTP 请求”,不能算爬虫。
|
28
knightdf 2015-12-07 19:53:33 +08:00
@theKingOfTerrors 你就想着如何模拟人去浏览网页就行了
|
29
sun2920989 2015-12-07 20:18:33 +08:00
找个美女图片的网站练手,动力满满
|
30
TaMud 2015-12-07 21:20:37 +08:00
PHP -> CURL + PHPQUERY
BAIDU -> PHP CURL 多线程 url -> http://blog.phpdr.net/curl%E5%A4%9A%E7%BA%BF%E7%A8%8B.html |
31
shuimugan 2015-12-07 21:53:54 +08:00
推荐一个封装 curl 的库
https://github.com/rmccue/Requests 处理 html 的话就是 phpquery 了 php 做爬虫的话,主要是多进程没有好用的库,多线程倒是有 pthreads,其它像解析 js 可以用 phantomjs,验证码可以接打码平台或者写个小 python 脚本来处理...反正都能东拼西凑玩得不错 其实最主要的还是要看你公司是需要怎么样的爬虫,比如是否定向站点爬取啊,爬取目标是否有反爬手段啊,爬取目标数据量级啊,这些都确定下来才好下一步的讨论 |
32
uuspider 2015-12-07 22:37:53 +08:00
@usapla shell 里也有 curl ,也可以爬网页,也可以称得上功能强大,但是要做真正的爬虫,还是得 python
|
35
lenran 2015-12-08 02:13:26 +08:00
你需要{
"PHP 爬虫库 1":"PHPCrawl", "PHP 爬虫库 2":"Goutte", "PHP_robot1":"Web Spider", "PHP_robot2":"Snoopy", "PHP_robot3":"PhpDig", } |
36
libook 2015-12-08 11:27:03 +08:00
如果只是想快速开发爬虫的话就用第三方库吧,楼上的大牛们都列出来了;如果你对做爬虫感兴趣的话可以看看那些开源库的源代码,对理解 HTTP 协议和前端技术有很大帮助。最后建议学的时候着重理解思想,因为思想在任何一个语言下都可以用的。另外有一个小窍门,就是如果你想找某一功能的代码或类库直接去 github 上搜索相关关键字就可以了,有的时候会有意外惊喜。
:-p s. 你确定不学学 python ? python 的爬虫技术可是出了名的强大和成熟。 :-p :-p s. 好吧,我本人也不怎么用 python ,我都是用 nodejs 的,只是因为可以直接实例化成 Document Object 像在浏览器里操作那样直接用 js 操作,另外也可以在 node 中直接用 jquery ,处理 DOM 很方便。 |
37
theKingOfTerrors OP @libook 我也想学 python ,但是时间问题,我现在只能用他们说的第三方库来做,我用了我买的那本书提供的代码,然后改了一些网站参数什么的,就无法运行,给那个美国作者发邮件,估计他也看不到
|
38
killerv 2015-12-08 12:05:58 +08:00
php 做爬虫不合适,建议 python
|
39
theKingOfTerrors OP @killerv 我知道 php 做爬虫不合适,但是再去学 python ,花费的时间比较长,倒不是怕花费时间,毕竟是老板吩咐的,时间长了些不合适
|
40
TaMud 2015-12-08 15:25:32 +08:00
不要 python 了,直接上 golang
|
41
libook 2015-12-08 16:11:33 +08:00
@theKingOfTerrors 如果用的库并不冷门的话其实是可以在 Stack Overflow 上搜到答案的,没有的话也可以自己在 Stack Overflow 上提问,类似于国内的 CSDN 问答,好多开发者都会在 Stack Overflow 上关注自己参与开发的项目的相关问题的,实在不行,如果所用的库是在 github 上的可以直接提交 issue 提问。
如果你只是快速写一个程序用个一两次的话是没什么问题了,如果把爬虫产品化的话还是学学爬虫领域的尖端技术吧,毕竟爬虫程序对效率要求挺高的。 |
42
dowern 2015-12-08 17:31:08 +08:00
Curl + PhpQuery + Swoole
|
43
djunny 2015-12-08 19:13:53 +08:00
|
44
theKingOfTerrors OP @djunny ok,好的, thanks
|