小弟的公司需要我去研究爬虫,但是网上的资料太过零散,买了一本《 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 ![]() 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 ![]() 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 ![]() @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 slowgen 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 |