V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jason52
V2EX  ›  分享发现

手把手教你写爬虫第六弹--pyspider 框架入门之煎蛋无聊图

  •  1
     
  •   jason52 · 2015-05-31 14:19:08 +08:00 · 5231 次点击
    这是一个创建于 3253 天前的主题,其中的信息可能已经有所发展或是发生改变。
    先给链接 : http://haoqicat.com/jason52/shou-ba-shou-jiao-ni-xie-python-pa-chong/7

    ==
    楼主前两天学习了一下 pyspider。 pyspider大法好呀,因此怒更一发来安利~

    所要完成的任务是和第一弹相同的,只不过这次是使用 pyspider 来完成任务。

    只是做了简要的介绍,怎么入门改模板、启动项目等,完全没有涉及到任务调度之类的~

    ==
    之前爬虫系列 介绍 http://v2ex.com/t/177020

    视频都在 http://haoqicat.com/jason52/shou-ba-shou-jiao-ni-xie-python-pa-chong
    21 条回复    2015-08-05 17:35:00 +08:00
    laoyuan
        1
    laoyuan  
       2015-05-31 16:05:33 +08:00
    先收藏一下,回家再看
    kungfuchicken
        2
    kungfuchicken  
       2015-05-31 16:25:23 +08:00
    都把煎蛋当爬虫测试地啊,看来要放个大招反爬虫了
    jason52
        3
    jason52  
    OP
       2015-05-31 16:28:34 +08:00
    @laoyuan

    楼上同学你做过一个笔记呀~那这个screencast应该就没什么价值了~比较粗浅~

    http://v2ex.com/t/187256#reply4

    另外一点是在webUI里面写程序比较蛋疼,我觉得应该可以直接本地编辑一个文件,然后webui里面只是负责管理,启动服务。

    俺得再找找怎么整~
    jason52
        4
    jason52  
    OP
       2015-05-31 16:30:24 +08:00
    @kungfuchicken 啊~~~蛋主我对不起你~~~~~~一看你的详细介绍吓尿了~~~~
    laoyuan
        5
    laoyuan  
       2015-05-31 17:12:54 +08:00
    @jason52 是啊,看得眼睛疼。你倒提醒我了,是不是可以编辑文件,然后webUI 那边execfile()
    sefemp
        6
    sefemp  
       2015-05-31 17:18:28 +08:00
    query的发音。。。
    laoyuan
        7
    laoyuan  
       2015-05-31 17:22:06 +08:00
    hahaha 测试可行,我真是太机智了~
    flight2006
        8
    flight2006  
       2015-05-31 17:30:12 +08:00 via Android
    抓过,后来觉得不够刺激,改了下去抓1024了,1024抓起来费劲点
    matrix67
        9
    matrix67  
       2015-05-31 18:57:30 +08:00 via Android
    @laoyuan 肿么搞??
    matrix67
        10
    matrix67  
       2015-05-31 18:58:55 +08:00 via Android
    先学肿么抓代理
    binux
        11
    binux  
       2015-05-31 22:46:17 +08:00
    pyspider 不一定是在本地运行的,所以直接编辑文件不是那么通用
    以前用 webdav 实现过在本地编辑,同步到到 webui 执行
    现在这个功能还在 todo list 上
    binux
        12
    binux  
       2015-05-31 22:57:55 +08:00
    首先 callback 这个概念在 pyspider 里面很重要,它指的是用哪个函数去解析抓回来的那个页面,然后在那个页面中,是点击下一页,还是抽取图片(或者两个都有),都是那个函数的代码。
    然后,你并不需要手动取获取 css 选择器,点击 enable css selector helper 然后,在 web 面板点击元素,就会自动选择最合适的 css 选择器 pattern 了。
    binux
        13
    binux  
       2015-05-31 22:59:12 +08:00
    另外看视频发现个 bug,赶紧悄悄修好了。。
    jason52
        14
    jason52  
    OP
       2015-05-31 23:17:45 +08:00 via Android
    @binux 虫叔你好。CSS选择器俺也试了,但是这个例子里面貌似取不到所谓的最大公约数,所以我就跳过了。

    之前毛毛虫那个倒是好使。。。感觉非常好用。
    11
        15
    11  
       2015-05-31 23:21:27 +08:00
    @binux 大神,感觉 pyspider 的使用情景更像是抓新内容?对于监控页面的变化的场景,能否在脚本里设置保存每次的抓取结果而非替换掉?
    binux
        16
    binux  
       2015-05-31 23:23:08 +08:00
    @jason52 这个例子需要选择一下
    binux
        17
    binux  
       2015-05-31 23:25:02 +08:00   ❤️ 1
    @11 这样的场景,需要重载 on_result 方法,自己写数据库存储的操作。
    matrix67
        18
    matrix67  
       2015-06-01 10:27:22 +08:00
    2 楼是煎蛋的 全栈工程师...
    binux
        19
    binux  
       2015-06-05 09:34:46 +08:00
    @laoyuan 现在你可以通过 webdav 挂载脚本为本地文件,用任意编辑器编辑,然后到 web 上调试了。
    搜索 webdav windows 看怎么在你的平台上挂载 http://demo.pyspider.org/dav/ 这个地址就好了
    terax
        20
    terax  
       2015-06-19 18:55:17 +08:00
    LZ能把代码放到Github上吗?
    peterxu
        21
    peterxu  
       2015-08-05 17:35:00 +08:00
    mark
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2279 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 00:55 · PVG 08:55 · LAX 17:55 · JFK 20:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.