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
wisefree
V2EX  ›  Python

开始在简书上写 Python 爬虫系列文章

  •  1
     
  •   wisefree · 2017-04-01 09:34:57 +08:00 · 11303 次点击
    这是一个创建于 2797 天前的主题,其中的信息可能已经有所发展或是发生改变。

    第一篇: http://www.jianshu.com/p/11d7da95c3ca

    这一系列文章不写复杂的爬虫,而是将复杂的爬虫涉及到的核心知识点写清楚

    1. 代理池(高匿)

    2. 多进程

    3. 正则表达式

    4. 数据库

    5. selenuim

    6. 手机抓包

    7. ....

    希望 V 友能提提建议,能投稿就更好了

    第 1 条附言  ·  2017-04-02 15:06:52 +08:00
    第 2 条附言  ·  2017-04-06 13:54:44 +08:00
    这篇文章想不到点击了 4000 多次, 192 次收藏,谢谢大家关注。最近爬虫的更新会放缓,我要开始学习运营和机器学习相关知识了,还要开始找工作。
    具体说明见: http://www.jianshu.com/p/07f0d5a44f64

    (学习爬虫,只为了得到数据,我可不想玩转爬虫,我喜欢分析数据)
    第 3 条附言  ·  2017-04-06 13:58:20 +08:00
    希望大家多多推荐机器学习和运营的资料,先谢啦,:)
    第 4 条附言  ·  2017-04-10 11:30:49 +08:00
    更新了爬虫正则表达式一文
    http://www.jianshu.com/p/b3bc88ffb251
    第 5 条附言  ·  2017-05-01 16:51:09 +08:00
    selenium 简单使用,beautifulsoup 始终 beautiful: http://www.jianshu.com/p/677eaa462b47


    为了这篇文章服务:简书在 Twitter、豆瓣、微博上的活动(持续更新): http://www.jianshu.com/p/8794dd040397
    第 6 条附言  ·  2017-05-21 17:51:29 +08:00
    由于简书不支持目录,latex 语法,今天用 github + hexo + next 主题建了一个网站,以后所有的技术文章都会在这个网站写作

    网址:zhouww.com

    当然访问 duohappy.github.io 也行的
    第 7 条附言  ·  2017-09-15 18:57:43 +08:00

    写完了,Python-爬虫总结,欢迎指正

    82 条回复    2017-04-23 22:43:30 +08:00
    ansheng
        1
    ansheng  
       2017-04-01 10:06:22 +08:00   ❤️ 5
    要不看看[Python 全栈之路系列文章]( https://blog.ansheng.me/article/python-full-stack-way/)
    prasanta
        2
    prasanta  
       2017-04-01 10:15:52 +08:00   ❤️ 1
    一定要多图哟!
    wisefree
        3
    wisefree  
    OP
       2017-04-01 10:20:42 +08:00
    @ansheng 谢谢!已经收藏到书签栏,这是基于 Python2 ?爬虫中我使用的数据库一般是 MongoDB
    wisefree
        4
    wisefree  
    OP
       2017-04-01 10:21:04 +08:00
    @prasanta 放心吧,一般都是动态图,实用且有趣味
    ibegyourpardon
        5
    ibegyourpardon  
       2017-04-01 10:32:53 +08:00   ❤️ 1
    为啥选简书……
    wisefree
        6
    wisefree  
    OP
       2017-04-01 10:37:28 +08:00
    @ibegyourpardon 不然选啥呢?我用 markdown 来写文章, github 有时候打开太慢,虽然我有 SS ,不是所有读者都用代理吧
    kutata
        7
    kutata  
       2017-04-01 10:41:35 +08:00   ❤️ 1
    果断收藏!
    kancloud
        8
    kancloud  
       2017-04-01 10:44:44 +08:00   ❤️ 1
    给你一些资源文档 http://www.kancloud.cn/special/python 技术文档首选写作平台 不是盖的~
    wisefree
        9
    wisefree  
    OP
       2017-04-01 10:59:55 +08:00
    @kutata 欢迎一起写呀,入坑 Python 爬虫系列
    wisefree
        10
    wisefree  
    OP
       2017-04-01 11:00:41 +08:00
    @kancloud 谢谢推荐,在简书用的还行,暂时不算换了。欢迎投稿哈,:)
    whyishe
        11
    whyishe  
       2017-04-01 11:03:08 +08:00   ❤️ 1
    建议可以参考下崔庆才系列和路人甲系列,看看如何有些更深入浅出的表达和好玩的例子哈
    co3site
        12
    co3site  
       2017-04-01 11:09:30 +08:00 via Android   ❤️ 1
    基础做完可以做些有针对性的爬虫
    根据不同的场景和框架,发现这方面做得人很少。
    已加书签,持续关注中
    wisefree
        13
    wisefree  
    OP
       2017-04-01 11:16:43 +08:00
    @whyishe 谢谢建议哈,我去看看。我尽量做好,希望一起来玩哈,一个人更新的话会很慢,我最近也要忙着写毕业论文
    paledream
        14
    paledream  
       2017-04-01 11:17:12 +08:00   ❤️ 1
    支持
    wisefree
        15
    wisefree  
    OP
       2017-04-01 11:17:15 +08:00
    @co3site 如果一起来写就好了,入坑 Python 爬虫系列,众人拾柴火焰高
    wisefree
        16
    wisefree  
    OP
       2017-04-01 11:19:08 +08:00
    @paledream 谢谢支持,希望多提提意见,:)
    thereisnowinter
        17
    thereisnowinter  
       2017-04-01 11:21:14 +08:00   ❤️ 1
    已收藏,希望能写简单一点,让我们这些小白能够看懂。
    wisefree
        18
    wisefree  
    OP
       2017-04-01 11:32:55 +08:00
    @thereisnowinter 好的,我尽量哈,我以后的文章会放一些参考资料,:)
    BoBoy
        19
    BoBoy  
       2017-04-01 11:34:26 +08:00 via iPhone   ❤️ 1
    666 ,正在学 python ,来的很及时,加油 LZ
    polebug
        20
    polebug  
       2017-04-01 11:50:00 +08:00
    @ansheng 太喜欢你的博客了!!赞!看着真舒服!
    wisefree
        21
    wisefree  
    OP
       2017-04-01 11:50:40 +08:00
    @BoBoy 好的,一起来玩哈
    ykwlv
        22
    ykwlv  
       2017-04-01 11:53:44 +08:00 via Android   ❤️ 1
    想看代理池的部分,什么时候更新呢?
    ansheng
        23
    ansheng  
       2017-04-01 11:54:02 +08:00   ❤️ 1
    @wisefree 拥抱 Python3

    @polebug thx
    wisefree
        24
    wisefree  
    OP
       2017-04-01 11:59:18 +08:00
    @ykwlv 这个更新的具体时间未定,代理池相关文章应该会放在正则之后
    wisefree
        25
    wisefree  
    OP
       2017-04-01 12:03:21 +08:00
    @ansheng 我一直学的就是 Python3 ,虽然看了一些视频教程( Python2 ),但是里面的代码我全部用 Python3 实现,:)
    wisefree
        26
    wisefree  
    OP
       2017-04-01 12:30:17 +08:00
    @ansheng 对了,有兴趣写写 Python 爬虫的文章么?:)
    zuosiruan
        27
    zuosiruan  
       2017-04-01 12:31:44 +08:00 via Android
    @ansheng
    ansheng
        28
    ansheng  
       2017-04-01 13:04:42 +08:00   ❤️ 1
    @wisefree 正在学- -。
    xiaoke0718
        29
    xiaoke0718  
       2017-04-01 13:07:06 +08:00 via Android   ❤️ 1
    你都会了 py 技术?
    wisefree
        30
    wisefree  
    OP
       2017-04-01 13:07:50 +08:00
    @ansheng 正需要这些新鲜的知识,欢迎投稿,:)
    wisefree
        31
    wisefree  
    OP
       2017-04-01 13:10:06 +08:00
    @xiaoke0718 我爬取过高考吧 200 多万条记录,用里上面写大部分技术,爬网易云课堂评论的时候用过 selenium
    http://www.jianshu.com/p/8893973b279c
    虽然代码写的不漂亮,但是能干活。
    xzpjerry731
        32
    xzpjerry731  
       2017-04-01 13:22:19 +08:00   ❤️ 1
    能顺手同步到 github 上吗,感觉 github 看 md 文件挺好的
    liyuhang
        33
    liyuhang  
       2017-04-01 13:25:41 +08:00
    anexplore
        34
    anexplore  
       2017-04-01 13:26:55 +08:00   ❤️ 1
    爬虫已经成功了程序员必备技能了
    wisefree
        35
    wisefree  
    OP
       2017-04-01 13:27:17 +08:00
    @xzpjerry731 谢谢提建议,暂时不打算到 github 维护文章,因为要写毕业论文,:(
    wisefree
        36
    wisefree  
    OP
       2017-04-01 13:28:56 +08:00
    @anexplore 也不一定,我寝室一个哥们转行 java ,让他写爬虫,死活不写,还是看个人兴趣。。:)
    Or2
        37
    Or2  
       2017-04-01 14:37:14 +08:00 via Android   ❤️ 1
    一定要来几个高级爬虫的例子!
    wisefree
        38
    wisefree  
    OP
       2017-04-01 14:56:58 +08:00
    @Or2 水到渠成的时候,可能会写的。如果把这些知识点写完,只要结合几个知识点,那么就可以写出高级爬虫的例子了,:)
    cheese
        39
    cheese  
       2017-04-01 16:02:30 +08:00   ❤️ 1
    思考题一有个错别字,网页写成了网易
    wisefree
        40
    wisefree  
    OP
       2017-04-01 16:08:29 +08:00
    @cheese 已经更正,文章第一行有更新信息,加了你的 V2EX 主页链接,如果可能对你造成影响,请告诉我,我立即清除
    cheese
        41
    cheese  
       2017-04-01 16:15:03 +08:00   ❤️ 1
    @wisefree 哈哈哈,没想到还有这个待遇,不过链接还是去了吧。毕竟我不是做技术的,保留我的用户名让我得瑟下
    wisefree
        42
    wisefree  
    OP
       2017-04-01 16:17:22 +08:00
    @cheese 好的,已经 ok 了。多交流哈,欢迎投稿,哈哈
    kancloud
        43
    kancloud  
       2017-04-01 18:34:35 +08:00
    @wisefree 如果你是多人团队写作的话 看云肯定比简书方便 都是 MD 啊 另外 看云支持付费阅读哦 ^_^
    wisefree
        44
    wisefree  
    OP
       2017-04-01 19:34:28 +08:00
    @kancloud 好的,我会关注这个平台的,:)
    wisefree
        45
    wisefree  
    OP
       2017-04-01 19:40:35 +08:00
    刚看到一个 V 友也在写爬虫文章,选择的平台也是简书。(在 Python 这个节点靠前的位置)

    他是从零入门的,而我这个不是从零入门的,基础知不会讲到。想想还,真是有缘,哈哈
    fffflyfish
        46
    fffflyfish  
       2017-04-01 19:50:29 +08:00   ❤️ 1
    爬动态网站的方法不只有使用 webkit 这种傻瓜式的方法,还可以用抓包的方法
    kingcos
        47
    kingcos  
       2017-04-01 20:01:41 +08:00   ❤️ 1
    可以啊!!!支持楼主!!!已关注!!!👍👍👍
    wisefree
        48
    wisefree  
    OP
       2017-04-01 20:06:12 +08:00
    @fffflyfish 有文章讲讲这方面的知识吗?
    同时欢迎 V 友投稿
    wisefree
        49
    wisefree  
    OP
       2017-04-01 20:06:57 +08:00
    @kingcos 谢谢,真的欢迎投稿,感觉自己挖了个大坑
    wellhome
        50
    wellhome  
       2017-04-01 21:47:36 +08:00 via iPhone   ❤️ 1
    @wisefree 感谢分享,请教一下
    如何确保程序连续运行?另外写一个监控进程?
    另外是多线程釆集还是就一个进程?
    wisefree
        51
    wisefree  
    OP
       2017-04-01 22:48:02 +08:00
    @wellhome 不用客气的,欢迎交流

    保证程序连续运行,是什么情况?能描述一个具体的实例么?

    我使用的是多进程
    mingyun
        52
    mingyun  
       2017-04-01 23:19:07 +08:00   ❤️ 1
    文末的头像很赞,基于 wordcloud 吗
    wisefree
        53
    wisefree  
    OP
       2017-04-01 23:26:52 +08:00 via Android
    @mingyun 果然也是老司机。确实是用 wordcloud 做的
    yxisen
        54
    yxisen  
       2017-04-02 01:20:50 +08:00 via Android   ❤️ 1
    Mark 一下。
    wellhome
        55
    wellhome  
       2017-04-02 08:03:10 +08:00 via iPhone   ❤️ 1
    @wisefree 比如你应该是放后跑爬虫程的吧?有没有遇到因为各种原因跑着跑着退出了? 然后有另外一个进程监控一下?
    wisefree
        56
    wisefree  
    OP
       2017-04-02 08:16:23 +08:00
    @wellhome 好问题!
    爬取网页多的情况下,并不知道会出现什么样的异常,除非对网站十分熟悉。那么换一种思路,按绝大多数的正常网页来编写爬虫程序,其余的用 try except 处理。

    最后对极少数的异常网页,做特殊处理。

    这是我的思路,欢迎交流

    (如果楼主愿意写些爬虫文章,欢迎投稿哈)
    onelove
        57
    onelove  
       2017-04-02 12:42:07 +08:00
    太好了,正在学习爬虫。
    AkiseAru
        58
    AkiseAru  
       2017-04-02 14:03:03 +08:00 via iPhone   ❤️ 1
    在学 py2.7 _(:3 」∠)_
    wisefree
        59
    wisefree  
    OP
       2017-04-02 15:06:01 +08:00
    @onelove 哈哈,赶紧写了第二篇, https://www.v2ex.com/t/352150
    wisefree
        60
    wisefree  
    OP
       2017-04-02 15:06:33 +08:00   ❤️ 1
    @AkiseAru 差不多的,有 Python 基础就可以看,刚刚发布了第二篇, https://www.v2ex.com/t/352150
    Or2
        61
    Or2  
       2017-04-03 09:58:28 +08:00 via Android
    大神,我有一个公司名列表,需要搜索对应的编号。然后根据编号再找另一编号,这种怎么写爬虫啊?
    falcon05
        62
    falcon05  
       2017-04-03 11:10:56 +08:00 via iPhone
    支持,正在学习
    wisefree
        63
    wisefree  
    OP
       2017-04-03 12:14:46 +08:00
    @Or2 呃,不好意思,我没有理解你的问题,~_~
    wisefree
        64
    wisefree  
    OP
       2017-04-03 12:15:14 +08:00
    @falcon05 嗯,欢迎投稿哈
    Or2
        65
    Or2  
       2017-04-03 13:05:35 +08:00 via Android
    @wisefree 哦,有一个公司列表[a,b ...] 要去网站 A 找到对应的编号 a 对应 111 , b 对应 222 ,等等,然后再根据编号 111 去网站 B 找到对应的 a 的数据,然后再找 b 的数据。
    wisefree
        66
    wisefree  
    OP
       2017-04-03 14:48:30 +08:00
    @Or2 这个过程挺清晰, 你在写代码的过程中,遇到的具体问题是什么?
    xiaoke0718
        67
    xiaoke0718  
       2017-04-03 16:45:44 +08:00
    @wisefree 你有没有写学习经历故事?
    wisefree
        68
    wisefree  
    OP
       2017-04-03 17:42:08 +08:00
    @xiaoke0718 学习经历故事?这个还真没有。。。我是学石油专业的,想转行而学习 Python ,学习 Python 时间还较短。等我入门时间长了,可能会分享自己学习经历吧,:)
    xiaoke0718
        69
    xiaoke0718  
       2017-04-03 21:38:27 +08:00
    @wisefree 厉害 对了 你利用空闲时间做什么?
    wisefree
        70
    wisefree  
    OP
       2017-04-03 22:11:39 +08:00
    @xiaoke0718 学习运营知识,我想成为一名运营者,,,我真的不厉害,只不过喜欢挖坑。你也是学 Python ?
    Or2
        71
    Or2  
       2017-04-03 23:12:21 +08:00 via Android
    @wisefree 第一步 a 到 111 :中间需要在网站 A 搜索一下,这步就不太会写。
    wisefree
        72
    wisefree  
    OP
       2017-04-04 10:10:58 +08:00
    @Or2 你到网站 A 搜索一下,观察搜索的网址构造的具体形式,然后构造网址(以公司为变量)进行请求
    Or2
        73
    Or2  
       2017-04-04 10:34:58 +08:00 via Android
    @wisefree ,你一说我明白了。谢谢啦!
    cpygui
        74
    cpygui  
       2017-04-04 14:26:11 +08:00
    好奇你 1 和 2 打算怎么写
    wisefree
        75
    wisefree  
    OP
       2017-04-04 15:00:23 +08:00
    @cpygui 这个看文章的反馈和大家的建议吧。只讲最实用的部分,同样不讲基础。比如进程和线程的区别,这个不会在文章中出现。

    近期不会更新这两大部分,我要去找工作了,还有很多运营和机器学习的知识要学。。。
    wisefree
        76
    wisefree  
    OP
       2017-04-04 15:01:30 +08:00
    文章的反馈比较少,我不会投入太多的时间去更新,坑会填完,但是不会太快。

    好多新知识要学,近期还会再挖几个坑
    sheer
        77
    sheer  
       2017-04-04 19:16:05 +08:00
    正在学习><
    xiaoke0718
        78
    xiaoke0718  
       2017-04-05 08:11:36 +08:00
    @wisefree 厉害 对了 你利用空闲时间做什么?
    @wisefree 嗯是的
    wingyiu
        79
    wingyiu  
       2017-04-05 19:08:44 +08:00
    Python 技术分享的乱象 https://zhuanlan.zhihu.com/p/26149723
    >>>>>>
    现在知乎上 Python 相关内容有以下三大特点:

    1. 绝大多数是写爬虫的。
    wisefree
        80
    wisefree  
    OP
       2017-04-05 19:40:53 +08:00
    @wingyiu 哈哈,不评论这篇文章
    creatorYC
        81
    creatorYC  
       2017-04-23 16:09:22 +08:00
    我想问问为什么我写的爬虫运行一段时间就会报 requests.exceptions.ConnectionError: ('Connection aborted.', BadStatusLine("''",)),用的 python 和 requests 库,我没有使用多线程,在请求之前都添加了 time.sleep(0.5) ,按说不至于请求太频繁啊,请问这个问题该怎么解决啊!谢谢了
    wisefree
        82
    wisefree  
    OP
       2017-04-23 22:43:30 +08:00
    @creatorYC 我没有遇到过这样的问题,不知道你 google 没有,你的问题在 stackoverflow 有几个问答,你尝试一下。

    还有, time.sleep(0.5) 还真谈不上有多保险,这个不同的网站都不一样
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1858 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 16:26 · PVG 00:26 · LAX 08:26 · JFK 11:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.