请教 pyspider 问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
xummerj
V2EX    Python

请教 pyspider 问题

  •  
  •   xummerj 2016-06-03 11:36:39 +08:00 3821 次点击
    这是一个创建于 3425 天前的主题,其中的信息可能已经有所发展或是发生改变。

    想用 pyspider 做点东西,网上的文档都不是很详细。

    谁有收藏了 @jason52 大神之前发的《手把手教你写爬虫》系列的视频教程,能不能分享下,现在找不到了。

    描述个需求: pyspider 能否提供一个接口给其它应用,应用请求接口提供 URL , pyspider 执行相应的爬取任务,成功后返回数据。

    16 条回复    2016-07-12 19:37:30 +08:00
    sparkssssssss
        1
    sparkssssssss  
       2016-06-03 12:45:41 +08:00 via Android
    同求!!!
    nine
        2
    nine  
       2016-06-03 14:38:59 +08:00   1
    新建一个 project
    ```python
    from pyspider.libs.base_handler import *
    class BaseHandlerCustom(BaseHandler):
    def on_result(self, result):
    if result:
    #your code
    super(BaseHandlerRedis, self).on_result(result)
    ```

    需要运行的 project
    ```
    from projects.redis_handle import *
    class Handler(BaseHandlerCustom):
    #your code

    __handler_cls__ = Handler
    ```
    nine
        3
    nine  
      &nsp;2016-06-03 14:40:37 +08:00
    怎么搞 markdown ?
    xummerj
        4
    xummerj  
    OP
       2016-06-03 15:07:39 +08:00
    @nine
    呃,看不大懂啊这个,能不能说详细点啊, python 菜鸟级别的。。
    回复好像不支持 md 的。。
    l0wkey
        5
    l0wkey  
       2016-06-03 15:12:11 +08:00
    @nine markdown 只能在发帖时候用,回复时候没有
    jugelizi
        6
    jugelizi  
       2016-06-03 15:26:34 +08:00   1
    /t/171302

    这年头连基本的搜索都不用?
    jugelizi
        7
    jugelizi  
       2016-06-03 15:28:12 +08:00
    @jugelizi 好吧 视频是没了
    xummerj
        8
    xummerj  
    OP
       2016-06-03 17:28:30 +08:00
    @jugelizi 就是想要他之前发的视频呢,发现不存在了才来求,看有没有谁收藏起来的
    Moker
        9
    Moker  
       2016-06-03 17:44:23 +08:00
    那个系列早期的时候存过 后来我手贱装黑苹果把整个盘都给格了
    话说 pyspider 本身就是提供一个 UI 界面供自己用
    当然你可以直接 CURD 来生成任务
    nine
        10
    nine  
    2016-06-03 17:46:48 +08:00
    我那个对你来说好像比较复杂

    你直接定义一个 on_result 方法
    def on_result(self, result):

    super(BaseHandlerRedis, self).on_result(result)
    binux
        11
    binux  
       2016-06-04 03:29:32 +08:00   1
    pyspider 的定位就是脚本管理,任务管理。

    如果「应用请求接口提供 URL , pyspider 执行相应的爬取任务,成功后返回数据」,你干嘛不直接用 requests 请求页面,然后用 pyquery 解析呢。。。
    xummerj
        12
    xummerj  
    OP
       2016-06-06 09:59:12 +08:00
    @binux
    您是 pyspider 作者吧,感谢你的回答。
    嗯,我有这样的想法的, [应用请求接口提供 URL , pyspider 执行相应的爬取任务,成功后返回数据] 这只是其中一个需求,大的采集需求还是想用 pyspider 来做,平时就是自动采集数据,但是有一个需求是在调取某个数据时进行同步一下,就想解析器等用共同的模块。

    因为我看 pyspider 已经是可以通过 url 调用某个采集任务,所以我就想是不是可以通过 url 传参数给任务采集,然后返回数据。
    xummerj
        13
    xummerj  
    OP
       2016-06-06 10:11:52 +08:00   1
    @nine 这个是采集结果后的处理吧,那用 URL 传一个采集的目标给采集器,执行抓取任务这个要怎么做呢
    binux
        14
    binux  
       2016-06-07 17:54:16 +08:00
    @xummerj 可以给 pyspider 发送消息,但是返回结果不是同步的,依旧要调度然后结果发给 result_worker 。同步的只能像 webui 那样自己把 fetcher 和 processor 包起来了。
    xummerj
        15
    xummerj  
    OP
       2016-06-08 14:27:24 +08:00
    @binux 嗯,谢谢,我研究研究。。
    jason52
        16
    jason52  
       2016-07-12 19:37:30 +08:00
    额,不好意思,好久没用这个账号登录。之前发的都被百度云给删除了。好奇猫上缓存的貌似也没了。。。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2660 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 41ms UTC 14:39 PVG 22:39 LAX 07:39 JFK 10:39
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86