爱意满满的作品展示区。
binux

开源一个 python 脚本驱动的定向爬虫

  •  6
     
  •   binux ·
    binux · Mar 9, 2014 · 18173 views
    This topic created in 4631 days ago, the information mentioned may be changed or developed.
    python爬虫绝大多数都是定向抓取,并进行一定程度的结构化解析

    这套爬虫设计采用python脚本驱动抓取动作,适用于各类页面(要实现通用爬虫也没问题)
    经过实践证明好用的更新调度机制,以及灵活稳定的抓取环模型
    辅以 WEB 化的脚本编写、调试、监控,看图你就懂了:



    这套爬虫是我一年多前设计开发的,抓取200个站点,在至少2个商业环境中运行,现在在Apache协议下重写开源。希望能终结各种自己写python爬虫的必要。

    github项目: https://github.com/binux/pyspider
    快速开始: https://github.com/binux/pyspider/wiki/Quickstart
    其他更详细的文档: https://github.com/binux/pyspider/wiki
    Supplement 1  ·  Mar 9, 2014
    由于目前仅在 Linux/OSX with python2.7 环境下测试通过,如果您没有环境
    可以在 https://koding.com/R/binux(推荐链接) 申请到一台 ubuntu 的临时开发环境

    sudo apt-get install python-dev python-pip libxml2-dev libxslt-dev libz-dev python-pycurl
    git clone https://github.com/binux/pyspider.git
    cd pyspider
    sudo pip install -r requirements.txt
    sed -i "s/app.run()/app.run('0.0.0.0')/" run.py
    ./run.py

    然后访问 http://<username>.kd.io:5000/
    Supplement 2  ·  Mar 10, 2014
    现在手上没有使用场景,如果有持续运营的实例,可以提供支持
    55 replies  •  2016-02-16 22:37:31 +08:00
    yanwen
    yanwen
    Mar 9, 2014
    1
    支持一个。
    alexapollo
    alexapollo
    Mar 9, 2014
    2
    看起来还不错~
    hhrmatata
    hhrmatata
    Mar 9, 2014
    3
    有web调试和监控,看起来很不错
    arbipher
    arbipher
    Mar 9, 2014
    4
    赞!
    抓取200个站点,求加到wiki上。
    hadoop
    hadoop
    Mar 9, 2014
    5
    赞!
    9hills
    9hills
    Mar 9, 2014
    6
    支持一下
    binux
    binux
    OP
    Mar 9, 2014
    7
    @arbipher 以前的脚本放出来不好。。而且不兼容了
    arbipher
    arbipher
    Mar 9, 2014
    8
    @binux 说的也是,但是就这个是比较恶心的地方。。。
    exoticknight
    exoticknight
    Mar 9, 2014
    9
    其实是终结各种我们大家写python爬虫的必要……
    RIcter
    RIcter
    Mar 9, 2014
    10
    请手下我的膝盖...已感谢
    figo
    figo
    Mar 9, 2014
    11
    看起来不错
    chon
    chon
    Mar 9, 2014
    12
    从BYR论坛过来支持一下~
    moroumo
    moroumo
    Mar 9, 2014
    13
    支持啊,我也用scrapy写过一个简单的
    caomu
    caomu
    Mar 10, 2014
    14
    手机上手动回复点赞加马克。。。
    forever139
    forever139
    Mar 10, 2014
    15
    支持下
    lj0014
    lj0014
    Mar 10, 2014
    16
    自带webui非常不错
    nealv2ex
    nealv2ex
    Mar 10, 2014
    17
    看了一上午了,我的python果真是战5渣。
    spritevan
    spritevan
    Mar 10, 2014
    18
    这个 webui 好丑啊
    binux
    binux
    OP
    Mar 10, 2014
    19
    @spritevan 帮我改啊
    spritevan
    spritevan
    Mar 10, 2014
    20
    只会说不会改啊 (^ω^)
    cooiky
    cooiky
    Mar 10, 2014
    21
    这个长时间抓,会被目标站ban掉么
    binux
    binux
    OP
    Mar 10, 2014
    22
    @cooiky 有流量控制 和 代理支持
    sjrong
    sjrong
    Mar 10, 2014
    23
    我已经通过贡献1GB空间来支持啦 呵呵~
    yupeng
    yupeng
    Mar 10, 2014
    24
    赞,支持一下
    primer
    primer
    Mar 10, 2014
    25
    楼主你好,你这款爬虫适用于非结构式的网页信息爬取吗?

    还有如果我想爬取Google play商店上APP下的所有用户评论,能做到吗? 谢谢楼主!
    binux
    binux
    OP
    Mar 10, 2014
    26
    @primer 可以,如果要所有的,需要分析出翻页的url
    simapple
    simapple
    Mar 10, 2014
    27
    顶起
    manhere
    manhere
    Mar 10, 2014
    28
    @binux 你那个推广链接识别错误,汉字连一块了
    binux
    binux
    OP
    Mar 10, 2014
    29
    @manhere 不能改没辙啊。。
    vaneoooo
    vaneoooo
    Mar 10, 2014
    30
    @primer 抓这个作用在于?
    run2
    run2
    Mar 10, 2014
    31
    很牛的样子,请问如果采集到了一个索引页,怎么把索引页里的url自动加到task里?并调用不同的Handler
    binux
    binux
    OP
    Mar 10, 2014❤️1
    32
    @sobigfish self.crawl 用于创建 task,这里设计上不是通过不同的 Handler,而是不同的 callback函数来区分的。一个 Handler 固定处理同一个站点(project)的各类页面。
    如果确有必要跨 Handler,第二里程碑会实现 send_message 特性可以实现。
    darklowly
    darklowly
    Mar 11, 2014 via iPhone
    33
    一天写5个爬虫,有什么好开源节流的价值?
    darklowly
    darklowly
    Mar 11, 2014 via iPhone
    34
    定向爬一天可以写几十个
    binux
    binux
    OP
    Mar 11, 2014
    35
    @darklowly 然后你怎么管理这几十个?怎么知道哪些挂了?
    zhkzyth
    zhkzyth
    Mar 11, 2014
    36
    拜读过lz的代码,赞~
    leveraging
    leveraging
    Mar 12, 2014
    37
    @darklowly 能省一天是一天啊。
    chens
    chens
    Mar 17, 2014
    38
    @binux 请教下啥叫作抓取环模型?
    binux
    binux
    OP
    Mar 17, 2014
    39
    @chens 你知道流式吗?把它的头和尾连起来就是环了。

    blog上有张图
    chens
    chens
    Mar 17, 2014
    40
    @binux http://blog.binux.me/assets/image/pyspider-arch.png
    看明白了,多谢啦。
    多问一句,用QQ或者gtalk之类的IM吗?有抓取相关问题请教。:-)
    chau
    chau
    Mar 18, 2014
    41
    @binux sudo pip install -r requirements.txt 这句的时候 SLLError:The read operation timed out
    binux
    binux
    OP
    Mar 18, 2014
    42
    @chau 网络问题,试试aliyun的镜像 http://mirrors.aliyun.com/help/pypi
    chau
    chau
    Mar 18, 2014
    43
    @binux 小白一名,求详细步骤
    binux
    binux
    OP
    Mar 18, 2014
    44
    @chau help/pypi 不就是详细步骤吗?
    chau
    chau
    Mar 18, 2014
    45
    @binux ~/.pip/pip.conf 目录下面没有这个文件......
    binux
    binux
    OP
    Mar 18, 2014
    46
    @chau 创建一个
    myAngel
    myAngel
    Mar 23, 2014
    47
    有一个网站,需要帮个忙。马化腾:156224301
    tobyzhong
    tobyzhong
    Mar 24, 2014
    48
    http://v2ex.com/t/104723#reply21 求高人给点提示
    guotie
    guotie
    Mar 26, 2014
    49
    学习一下
    sgissb1
    sgissb1
    Jun 2, 2014
    50
    小哥,我真心想了解你的爬虫,别这样~~~~我很伤心的
    sgissb1
    sgissb1
    Jun 2, 2014
    51
    在这里给你说了,其实我不想搞爬虫这块的学习。我倒是想通过爬虫弄点素材,来研究研究,是这样的。

    我主要是为了拿到页面然后分析。手动去搞主要是不懂web开发,另外我需要的样本很多,手工。。。你懂的
    chuangbo
    chuangbo
    Jul 17, 2014❤️1
    52
    实在是太好用了
    Lycnir
    Lycnir
    Dec 3, 2014
    53
    赞一个
    wico77
    wico77
    Jan 25, 2016
    54
    @binux 我安装后怎么 web 调试功能出不来?
    commoccoom
    commoccoom
    Feb 16, 2016
    55
    @binux 请问 怎吗删除已经创建了的 project 我是在本地运行的
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1195 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 113ms · UTC 17:37 · PVG 01:37 · LAX 09:37 · JFK 12:37
    ♥ Do have faith in what you're doing.