V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
nj
V2EX  ›  问与答

刚开始学习 Python 到可以写出一个爬虫大约需要多长时间

  •  
  •   nj · 2014-12-31 10:35:31 +08:00 · 22580 次点击
    这是一个创建于 3617 天前的主题,其中的信息可能已经有所发展或是发生改变。

    请问对于初学者来说一开始买哪本书来看比较适合,到能写出一个爬虫的过程会很难吗?
    不好意思来伸手党一下,谢谢了。

    34 条回复    2016-05-10 20:11:30 +08:00
    xunyu
        1
    xunyu  
       2014-12-31 10:44:24 +08:00
    一周,自己用urllib实现
    Colorful
        2
    Colorful  
       2014-12-31 10:48:06 +08:00
    爬虫到底是什么,不太明白
    gangsta
        3
    gangsta  
       2014-12-31 10:48:39 +08:00   ❤️ 1
    时间肯定因人而异啊,但是第一个课后大作业好像是豆瓣福利组妹子图...
    nj
        4
    nj  
    OP
       2014-12-31 10:51:23 +08:00
    那这之前是有 Python 的基础了吧 @xunyu
    nj
        5
    nj  
    OP
       2014-12-31 10:51:55 +08:00
    你们是开这门课? @gangsta
    nj
        6
    nj  
    OP
       2014-12-31 10:52:48 +08:00
    我也不清楚,只不过最近有这方面的需要,想学一学 @Colorful
    tabris17
        7
    tabris17  
       2014-12-31 10:55:40 +08:00
    2小时吧
    14
        8
    14  
       2014-12-31 10:56:13 +08:00 via Android
    ChanneW
        9
    ChanneW  
       2014-12-31 10:57:52 +08:00
    urllib2 urllib3 requests pyquery ,看完这四个就可以了.
    ericls
        10
    ericls  
       2014-12-31 10:59:14 +08:00 via Android
    一天吧
    fooevr
        11
    fooevr  
       2014-12-31 11:02:44 +08:00
    一天
    nilai
        12
    nilai  
       2014-12-31 11:09:28 +08:00
    scrapy 1小时
    sandideas
        13
    sandideas  
       2014-12-31 11:13:12 +08:00 via Android
    看你爬什么。。百度贴吧这种的一个小时就能爬了。
    Colorful
        14
    Colorful  
       2014-12-31 11:24:16 +08:00
    @ericls 求方法
    ilili
        15
    ilili  
       2014-12-31 11:37:05 +08:00
    刚开始学习Python到现在两年了我还是写不出,楼主不要像我这样……
    jianghu52
        16
    jianghu52  
       2014-12-31 11:52:03 +08:00
    这个时间是要看你有什么基础。如果你之前有过web开发经验,html/css,cookie session 什么随意玩玩的话,我估计爬虫你一天就搞定。要是你一点基础没有,哼哼。像我,半个月了,只会扒代码 %>_<%。
    decken
        17
    decken  
       2014-12-31 11:59:09 +08:00
    cloudyplain
        18
    cloudyplain  
       2014-12-31 12:24:33 +08:00
    一下午,参考了nodejs实战,学习了nodejs爬一个博客 python应该差不太多
    ericls
        19
    ericls  
       2014-12-31 12:31:41 +08:00
    danmary61
        20
    danmary61  
       2014-12-31 12:32:09 +08:00
    这个要看你自己的情况。如果只是爬某个数据,其实不用花时间学,找个源码自己攒一个也是能行的。我最开始只是想爬淘宝二手,花了一天看了下基础的东西然后就修改别人的代码实现了这个目标。如果你打算学Python,廖雪峰的教程值得推荐。楼上有地址了。
    happywowwow
        21
    happywowwow  
       2014-12-31 12:55:42 +08:00
    有驱动就快
    比如爬个感兴趣的网站的数据?
    比如 爬1024什么的
    Exin
        22
    Exin  
       2014-12-31 14:53:55 +08:00
    关注下,目前会前端基础和c++,python没学过
    mringg
        23
    mringg  
       2014-12-31 14:56:47 +08:00 via Android
    如果简简单单的,一天就差不多了,就是个深度搜索。如果是复杂的,可以参考一些开源的搜索框架,那可不是一年半载能完成的。
    Colorful
        24
    Colorful  
       2014-12-31 15:51:29 +08:00
    @mringg 没那么容易吧?
    realityone
        25
    realityone  
       2014-12-31 15:54:33 +08:00
    ..简单的爬虫抄着别人的demo就出来了。。
    imn1
        26
    imn1  
       2014-12-31 16:07:54 +08:00
    写好爬虫不仅是python
    至少还要有http前端基础——知道DOM可用bs或lxml+xpath,大量建议正则
    要懂http协议——破各种防盗链和cookies
    可能还需要知道socket——至少知道errno的意思,不然搞不清程序没错却抓不到的原因
    更高级的还要知道怎么用野鸡(大量肉鸡),以及任务分割,不然被封只是迟早的事

    如果说只是能用,找现成的改改很简单
    xidianlz
        27
    xidianlz  
       2014-12-31 16:11:52 +08:00
    居然没人推荐神器scrapy
    nj
        28
    nj  
    OP
       2014-12-31 16:38:15 +08:00
    非常感谢各位建议。
    我的目的不是写一个爬虫,是想弄懂,明白一些,还想学习 Python 。
    之前看过 笨方法学 Python ,也有过编程基础。
    lincanbin
        29
    lincanbin  
       2014-12-31 16:41:27 +08:00
    用requests,花了一天吧,前面半天看了下Python语法,然后就是读requests和re的文档了。
    除了语法与类的结构外,和其他语言写爬虫没有任何区别。
    ryd994
        30
    ryd994  
       2014-12-31 17:02:34 +08:00 via Android
    说实话我觉得Python用来学习并不合适。对有编程经验的人来说却非常顺手。

    爬虫的话不建议直接urllib3,因为管理cookie之类的其实还是麻烦。requests会比较方便,毕竟你只关注数据,底层的一般用不上。

    解析可以beautifulsoup,个人没用过,但是之前别人说到,看了一下感觉对新手很友好。数据少的话直接正则

    socket的话不怕,现查谷歌就可以了

    至于肉鸡……Python就算了吧
    icedx
        31
    icedx  
       2014-12-31 17:06:32 +08:00 via Android
    一天Urllib2+BeautifulSoup4
    zhurenhu
        32
    zhurenhu  
       2014-12-31 17:09:18 +08:00   ❤️ 1
    urllib2 + beatifulsoup 一两天搞定一个简单的爬虫

    see:
    https://gist.github.com/0d6c55baa33a8b194fbb.git
    thanksir
        33
    thanksir  
       2014-12-31 17:40:09 +08:00
    一天足够,话说刚开始学python的时候也是想玩爬虫
    sosozzzx
        34
    sosozzzx  
       2016-05-10 20:11:30 +08:00
    推荐使用神箭手云爬虫( http://www.shenjianshou.cn ),完全在云上编写和执行爬虫,不需要配置任何开发环境,快速开发快速实现。
    简单几行 javascript 就可以实现复杂的爬虫,同时提供很多功能函数:反反爬虫、 js 渲染、数据发布、图表分析、反防盗链等,常见的编写爬虫过程中会遇到的问题都由神箭手帮你解决。
    demo 源码地址: https://github.com/ShenJianShou/crawler_samples
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1040 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 20:04 · PVG 04:04 · LAX 12:04 · JFK 15:04
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.