V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
paulw54jrn
V2EX  ›  分享创造

一个知乎爬虫,可保存关注列表对象的信息到本地,欢迎前来玩耍~

  •  
  •   paulw54jrn · 2014-02-26 01:16:31 +08:00 · 3811 次点击
    这是一个创建于 3706 天前的主题,其中的信息可能已经有所发展或是发生改变。
    之前知乎有大神退出删除答案,萌发了用爬虫把自己关注的对象的答案爬下来的想法.顺便学习下Python.

    使用方法: python user_cralwer USERNAME PASSWORD

    脚本会在当前目录下面创建一个叫Answer的文件夹,里面每个用户独立一个文件夹,然后一个xml文件存下该用户的所有答案,同时为每个回答创建一个文件夹,里面放该用户贴的图(如果有的话)

    链接:
    https://github.com/paulw54jrn/ZhiHu-Crawler

    写来练手,如果有任何bug,请轻喷,我会马上修改~







    另外夹带点私货,14年毕业,v2ex的各位大神,如果有机会,求实习...
    5 条回复    1970-01-01 08:00:00 +08:00
    imom0
        1
    imom0  
       2014-02-26 01:21:07 +08:00
    命名表要爪哇风格,tabular也看着挺不习惯的。
    paulw54jrn
        2
    paulw54jrn  
    OP
       2014-02-26 01:30:42 +08:00
    @imom0 对编程规范不是很熟悉,可否请再点解一下?
    MichaelYin
        3
    MichaelYin  
       2014-02-26 08:43:40 +08:00   ❤️ 1
    随便看了一下,提几点把

    import 建议看看python core programming 里的建议

    注释风格不统一

    每行代码不要太长,建议用sublime 画上rule强制自己代码不要超过多少宽度

    内容的提取个人认为其实xpath应该够用了把
    tarsier
        4
    tarsier  
       2014-02-26 08:45:21 +08:00 via Android
    知乎登录有时候会有验证码,怎么解决的?
    paulw54jrn
        5
    paulw54jrn  
    OP
       2014-02-26 10:57:59 +08:00
    @MichaelYin
    谢谢你的建议.
    至于代码长度的问题,把比如说有个很长的正则表达式或者创建线程的时候带了一堆参数,拆分成多行有时候感觉代码读起来也很零散,这个有什么办法呢?

    @tarsier
    之前使用知乎从来没试过需要验证码,所以今天才知道有这回事...
    http://www.zhihu.com/question/19660087
    http://www.zhihu.com/question/20420079
    上面说似乎是频繁的反人类操作才会导致要输入验证码,但是我在测试脚本的时候也有大量的登录\fetch用户的操作,也没有触发验证码...
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2984 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 03:05 · PVG 11:05 · LAX 20:05 · JFK 23:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.