theKingOfTerrors
V2EX  ›  PHP

请大神们推荐一些关于 php 网络爬虫的书

  •  
  •   theKingOfTerrors · Dec 7, 2015 · 8616 views
    This topic created in 3989 days ago, the information mentioned may be changed or developed.

    小弟的公司需要我去研究爬虫,但是网上的资料太过零散,买了一本《 WEBBOTS 、 SPIDERS 和 SCREEN SCRAPERS 技术解析与应用实践》,也从官网下载了这本书的一些 demo ,但是不知道是什么原因,一些代码运行不起来,也没有报错,也因为是中文版,所以翻译的一些地方看的不是很明白,请大神们帮忙推荐几本最好是 php 的书,小弟不会 python ,还请各位大神帮忙 推荐一些纯 PHP ,或者 php+python 入门的这些爬虫书籍,谢谢

    44 replies  •  2015-12-09 15:21:16 +08:00
    knightdf
    knightdf
    Dec 7, 2015
    1
    这还需要买书?
    ihipop
    ihipop
    Dec 7, 2015
    2
    与其从头写 不如站在巨人 @binux 的肩膀上 https://github.com/binux/pyspider
    只要学习如何解析页面即可入门 例子一看就懂
    ryd994
    ryd994
    Dec 7, 2015 via Android
    3
    没见过 PHP+Python 的组合
    PHP 做爬虫合适么?
    usapla
    usapla
    Dec 7, 2015
    4
    @ryd994 我心里也是这么琢磨的一下, php 爬网页有个专门的函数 curl ,挺方便的,但是我没怎么用过
    ryd994
    ryd994
    Dec 7, 2015 via Android❤️2
    5
    @usapla curl 方便………
    你一定没见过 urllib3 ,更没见过 requests
    usapla
    usapla
    Dec 7, 2015
    6
    @ryd994 嗯...没有见过,因为在做 php , Python 学的不多,谢谢指点
    Moker
    Moker
    Dec 7, 2015❤️1
    7
    php 的话 你可以去看下 phpquery
    iyaozhen
    iyaozhen
    Dec 7, 2015
    8
    @ryd994 额,我感觉 curl 很方便的,什么事都能干。还请指教。
    当然我没做过大规模的爬虫。而且受环境限制 Python 只用过 urllib 、 urllib2 ,感觉不是很方便。
    iyaozhen
    iyaozhen
    Dec 7, 2015
    9
    @Moker 这东西很好,另外强烈推荐: https://github.com/bupt1987/html-parser
    matsuijurina
    matsuijurina
    Dec 7, 2015❤️1
    10
    PHP 并不是最适合写爬虫工具的语言。一定要用的话,推荐这本书 《 PHP Web Scraping 》。不过我觉得你迟早会回过头来找 python 的 beautifulsoup ,以及 javascript 的 phantomjs 的
    theKingOfTerrors
    theKingOfTerrors
    OP
    Dec 7, 2015
    11
    @matsuijurina 谢谢,我看到了这本书,但是只找到了英文版,我的英语水平勉勉强强,看这种书,会很难理解,有中文版吗
    theKingOfTerrors
    theKingOfTerrors
    OP
    Dec 7, 2015
    12
    @knightdf 菜鸟一枚,之前都没有弄过这些东西,还希望能够多多指教
    shyling
    shyling
    Dec 7, 2015
    13
    @ryd994 curl 不方便吗=。=
    zjyExcelsior
    zjyExcelsior
    Dec 7, 2015
    14
    大神们一般会告诉你 -> 用 Python
    jiehuangwei
    jiehuangwei
    Dec 7, 2015
    15
    用PHP写也还行,看个人的熟练程度了,大型的爬虫系统不局限于开发语言,而在于架构,通常说的爬虫大部分是抓取网页内容而已,用什么语言关系不是太大
    lydhr
    lydhr
    Dec 7, 2015
    16
    scrapy
    theKingOfTerrors
    theKingOfTerrors
    OP
    Dec 7, 2015
    17
    @lydhr 这是什么东西
    theKingOfTerrors
    theKingOfTerrors
    OP
    Dec 7, 2015
    18
    @jiehuangwei 就是因为不会啊,烦透了,买了一本书,里面有的 demo 不知道什么鬼
    lydhr
    lydhr
    Dec 7, 2015❤️1
    19
    @theKingOfTerrors 一个 framework ,教程很详细的[link]( http://scrapy.org/)
    xiasix
    xiasix
    Dec 7, 2015
    20
    curl 多线程+phpquery 研究透了 做爬虫没问题
    theKingOfTerrors
    theKingOfTerrors
    OP
    Dec 7, 2015
    21
    @lydhr 嗯, thanks
    theKingOfTerrors
    theKingOfTerrors
    OP
    Dec 7, 2015
    22
    @xiasix 麻烦问一下,您手里有没有资料,这样能给我省一些时间,谢谢
    Moker
    Moker
    Dec 7, 2015
    23
    @iyaozhen 感觉这货就是 simple dom 和 phpquery 的杂合体
    yytsjq
    yytsjq
    Dec 7, 2015
    24
    PHP 命令行模式 + Simple HTML DOM Parser
    ryd994
    ryd994
    Dec 7, 2015
    25
    @iyaozhen
    @shyling 看用途咯。
    curl 确实万能,基本上 linux 下大多数 http client 都是基于 libcurl 。但是太底层了,有些比较方便的功能没有,比如连接池。长连接对爬虫还是比较需要的。
    我个人其实用 urllib3 多一点,因为主要是写代理, request 包装太多。
    xiaoyu9527
    xiaoyu9527
    Dec 7, 2015
    26
    我也没找到 python 的爬虫教程(或者没找到比较完善的,感觉都是一部分一部分的教)
    HentaiMew
    HentaiMew
    Dec 7, 2015
    27
    那些说爬虫简单的... 其实你们在写“轮循 HTTP 请求”,不能算爬虫。
    knightdf
    knightdf
    Dec 7, 2015
    28
    @theKingOfTerrors 你就想着如何模拟人去浏览网页就行了
    ohmycodeape
    ohmycodeape
    Dec 7, 2015
    29
    找个美女图片的网站练手,动力满满
    TaMud
    TaMud
    Dec 7, 2015
    30
    PHP -> CURL + PHPQUERY
    BAIDU -> PHP CURL 多线程

    url -> http://blog.phpdr.net/curl%E5%A4%9A%E7%BA%BF%E7%A8%8B.html
    slowgen
    slowgen
    PRO
    Dec 7, 2015
    31
    推荐一个封装 curl 的库
    https://github.com/rmccue/Requests

    处理 html 的话就是 phpquery 了

    php 做爬虫的话,主要是多进程没有好用的库,多线程倒是有 pthreads,其它像解析 js 可以用 phantomjs,验证码可以接打码平台或者写个小 python 脚本来处理...反正都能东拼西凑玩得不错

    其实最主要的还是要看你公司是需要怎么样的爬虫,比如是否定向站点爬取啊,爬取目标是否有反爬手段啊,爬取目标数据量级啊,这些都确定下来才好下一步的讨论
    uuspider
    uuspider
    Dec 7, 2015
    32
    @usapla shell 里也有 curl ,也可以爬网页,也可以称得上功能强大,但是要做真正的爬虫,还是得 python
    iyaozhen
    iyaozhen
    Dec 8, 2015
    33
    @Moker 但这个性能确实不错,作者也有在维护。一直在用
    iyaozhen
    iyaozhen
    Dec 8, 2015
    34
    @ryd994 嗯,是的。看来要多实践一下
    lenran
    lenran
    Dec 8, 2015
    35
    你需要{
    "PHP 爬虫库 1":"PHPCrawl",
    "PHP 爬虫库 2":"Goutte",
    "PHP_robot1":"Web Spider",
    "PHP_robot2":"Snoopy",
    "PHP_robot3":"PhpDig",
    }
    libook
    libook
    Dec 8, 2015
    36
    如果只是想快速开发爬虫的话就用第三方库吧,楼上的大牛们都列出来了;如果你对做爬虫感兴趣的话可以看看那些开源库的源代码,对理解 HTTP 协议和前端技术有很大帮助。最后建议学的时候着重理解思想,因为思想在任何一个语言下都可以用的。另外有一个小窍门,就是如果你想找某一功能的代码或类库直接去 github 上搜索相关关键字就可以了,有的时候会有意外惊喜。
    :-p s. 你确定不学学 python ? python 的爬虫技术可是出了名的强大和成熟。
    :-p :-p s. 好吧,我本人也不怎么用 python ,我都是用 nodejs 的,只是因为可以直接实例化成 Document Object 像在浏览器里操作那样直接用 js 操作,另外也可以在 node 中直接用 jquery ,处理 DOM 很方便。
    theKingOfTerrors
    theKingOfTerrors
    OP
    Dec 8, 2015
    37
    @libook 我也想学 python ,但是时间问题,我现在只能用他们说的第三方库来做,我用了我买的那本书提供的代码,然后改了一些网站参数什么的,就无法运行,给那个美国作者发邮件,估计他也看不到
    killerv
    killerv
    Dec 8, 2015
    38
    php 做爬虫不合适,建议 python
    theKingOfTerrors
    theKingOfTerrors
    OP
    Dec 8, 2015
    39
    @killerv 我知道 php 做爬虫不合适,但是再去学 python ,花费的时间比较长,倒不是怕花费时间,毕竟是老板吩咐的,时间长了些不合适
    TaMud
    TaMud
    Dec 8, 2015
    40
    不要 python 了,直接上 golang
    libook
    libook
    Dec 8, 2015
    41
    @theKingOfTerrors 如果用的库并不冷门的话其实是可以在 Stack Overflow 上搜到答案的,没有的话也可以自己在 Stack Overflow 上提问,类似于国内的 CSDN 问答,好多开发者都会在 Stack Overflow 上关注自己参与开发的项目的相关问题的,实在不行,如果所用的库是在 github 上的可以直接提交 issue 提问。
    如果你只是快速写一个程序用个一两次的话是没什么问题了,如果把爬虫产品化的话还是学学爬虫领域的尖端技术吧,毕竟爬虫程序对效率要求挺高的。
    dowern
    dowern
    Dec 8, 2015
    42
    Curl + PhpQuery + Swoole
    djunny
    djunny
    Dec 8, 2015
    43
    可以看看鄙人的 spider-utils-for-php ,封装了大部分爬虫需要的核心方法:

    https://git.oschina.net/mz/spider-utils-for-php
    theKingOfTerrors
    theKingOfTerrors
    OP
    Dec 9, 2015
    44
    @djunny ok,好的, thanks
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4054 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 74ms · UTC 01:49 · PVG 09:49 · LAX 17:49 · JFK 20:49
    ♥ Do have faith in what you're doing.