V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
爱意满满的作品展示区。
lincanbin

写了一个微博相册的爬虫,顺便根据爬虫抓到的图片,写了个随机发图的 Telegram 的 Bot。

  •  5
     
  •   lincanbin ·
    lincanbin · Nov 17, 2015 · 14622 views
    This topic created in 3820 days ago, the information mentioned may be changed or developed.

    新浪微博上有不少福利号,想保存一下他们的图片。
    于是昨天中午吃饭前花了点时间,拿 Python 写了个爬虫,扔 VPS 上爬了上万张图。

    难以遏制想与大家分享的心情,看了看 Telegram 的 Bot API 文档,发现 tg 的 bot 设计还是挺简单的,于是根据 Telegram 给的 demo 进行修改,做了一个发图的 Bot 出来。

    Telegram 的 Bot 的演示: https://telegram.me/canbin_bot

    爬虫: https://github.com/lincanbin/Sina-Weibo-Album-Downloader
    Telegram Bot: https://github.com/lincanbin/Telegram-Simple-Image-Bot

    35 replies    2017-01-20 08:59:29 +08:00
    lincanbin
        1
    lincanbin  
    OP
       Nov 17, 2015   ❤️ 1


    爬虫抓了几 GiB 的图片,在 DeactivatedOcean 上跑了好几分钟,可以跑满百兆带宽,并没有被 Deactivated 。
    昨天吃饭时一直盯着手机的 SSH 客户端,生怕被 Deactivated 了。

    图片内容来自一批微博账号,抓了上万张吧,并没有一一查看,大抵都是妹子图吧?
    zangbob
        2
    zangbob  
       Nov 17, 2015
    感谢灿神又有好作品分享~~~已 star ……

    (是否应再加几行字: 1024 楼主好人之类的…… :)
    n37r06u3
        3
    n37r06u3  
       Nov 17, 2015
    readme 里截图用的什么浏览器
    GPU
        4
    GPU  
       Nov 17, 2015
    @lincanbin 我想知道是哪一批微博账号 。
    lincanbin
        5
    lincanbin  
    OP
       Nov 17, 2015
    @n37r06u3 Edge
    lwbjing
        6
    lwbjing  
       Nov 17, 2015
    fllow
    jedyu
        7
    jedyu  
       Nov 17, 2015
    Lofter 也有好多哦
    lincanbin
        8
    lincanbin  
    OP
       Nov 17, 2015 via Android
    @jedyu 请把地址发我,我要去抓。
    Suclogger
        9
    Suclogger  
       Nov 17, 2015
    果然福利才是人类的根本驱动力么
    halfer53
        10
    halfer53  
       Nov 17, 2015
    Tumblr 才是最多的,各种福利简直精尽人亡
    lincanbin
        11
    lincanbin  
    OP
       Nov 17, 2015
    @halfer53 所以说,账号呢?

    有 tg 账号的在 tg 群里发我: https://telegram.me/joinchat/BdahuwNx-nH8B5Ko6_swww
    halfer53
        12
    halfer53  
       Nov 17, 2015
    @lincanbin http://www.coolapk.com/apk/com.tumblr 酷安评论里有很多。我的 Tumblr 上还关注了 200 多个绝对领域的,回家后发给你
    chengzhoukun
        13
    chengzhoukun  
       Nov 17, 2015
    还有新闻联播截图😓
    lonelygo
        14
    lonelygo  
       Nov 17, 2015
    已✨, 1024 赞。
    imn1
        15
    imn1  
       Nov 17, 2015
    爬虫不难搞,难的是如何搜集发布号, share 一下吧
    Hysteria
        16
    Hysteria  
       Nov 17, 2015
    bot 简直不能太溜,赞得飞起。
    lincanbin
        17
    lincanbin  
    OP
       Nov 17, 2015
    @halfer53 Tumblr 好像还有视频啊,我要抓 Tumblr 。
    phithon
        18
    phithon  
       Nov 17, 2015
    分享福利号啊!!
    PandaSaury
        19
    PandaSaury  
       Nov 17, 2015
    可以在 github 开个地方,专门收集福利号
    mfinal
        20
    mfinal  
       Nov 18, 2015
    已经 star 表示👍。学习一下怎么爬 weibo
    joewangyz
        21
    joewangyz  
       Nov 18, 2015
    关键是福利号啊,,不然哪获取 OID 和 照片墙的 cookie 。。
    cclishan
        22
    cclishan  
       Nov 18, 2015
    @lincanbin Tumblr 太多了 。。要不要公布关注列表。。
    banri
        23
    banri  
       Nov 18, 2015
    200 个绝对领域!
    touch
        24
    touch  
       Nov 19, 2015
    @lincanbin 之前也爬过微博信息。但是账号被封了。怎么解决的
    lincanbin
        25
    lincanbin  
    OP
       Nov 19, 2015
    @touch 爬图床就没事,爬 API 有频率限制的。
    touch
        26
    touch  
       Nov 20, 2015
    @lincanbin 我是直接通过页面 html 爬取没有调用 api
    touch
        27
    touch  
       Nov 20, 2015
    @lincanbin 爬取一段时间后就只直接账号被封。被检测到属于异常行为
    lincanbin
        28
    lincanbin  
    OP
       Nov 20, 2015
    @touch 我爬的那部分,都不用登录啊
    touch
        29
    touch  
       Nov 20, 2015
    @lincanbin #;#
    fuliti
        30
    fuliti  
       Nov 22, 2015
    感觉好神奇 ,可惜不会用。
    JiaFeiX
        31
    JiaFeiX  
       Dec 2, 2015
    请问楼主爬取的哪些账号?
    bbjoe
        32
    bbjoe  
       Aug 30, 2016
    请问爬相册老会爬漏是什么问题呢?比如 402 个图片 id ,运行完只得百来张。
    lincanbin
        33
    lincanbin  
    OP
       Aug 30, 2016
    @bbjoe 设置 CRAWL_PHOTOS_NUMBER = 402
    要爬取的图片上限
    lincanbin
        34
    lincanbin  
    OP
       Aug 30, 2016
    @bbjoe 或者直接让 CRAWL_PHOTOS_NUMBER = 10000
    设个非常大的数值。
    yxqcyl
        35
    yxqcyl  
       Jan 20, 2017
    出现以下错误是什么原因?

    ['4065529837148919']
    9f128f33jw1e8qgp5bmzyj2050050aa8.jpg
    lxhxixi_org.gif
    2Flxhxixi_org.gif
    9f128f33ly1fbw8sp2ro7j20qo1beq4l.jpg
    Exception in thread Thread-51:
    Traceback (most recent call last):
    File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 137, in _new_conn
    (self.host, self.port), self.timeout, **extra_kw)
    File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 67, in create_connection
    for res in socket.getaddrinfo(host, port, 0, socket.SOCK_STREAM):
    File "/usr/lib/python3.5/socket.py", line 732, in getaddrinfo
    for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
    socket.gaierror: [Errno -3] Temporary failure in name resolution

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
    File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 559, in urlopen
    body=body, headers=headers)
    File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 353, in _make_request
    conn.request(method, url, **httplib_request_kw)
    File "/usr/lib/python3.5/http/client.py", line 1106, in request
    self._send_request(method, url, body, headers)
    File "/usr/lib/python3.5/http/client.py", line 1151, in _send_request
    self.endheaders(body)
    File "/usr/lib/python3.5/http/client.py", line 1102, in endheaders
    self._send_output(message_body)
    File "/usr/lib/python3.5/http/client.py", line 934, in _send_output
    self.send(msg)
    File "/usr/lib/python3.5/http/client.py", line 877, in send
    self.connect()
    File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 162, in connect
    conn = self._new_conn()
    File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 146, in _new_conn
    self, "Failed to establish a new connection: %s" % e)
    requests.packages.urllib3.exceptions.NewConnectionError: <requests.packages.urllib3.connection.HTTPConnection object at 0x7f6d60069b00>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
    File "/usr/lib/python3/dist-packages/requests/adapters.py", line 376, in send
    timeout=timeout
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2643 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 86ms · UTC 13:20 · PVG 21:20 · LAX 06:20 · JFK 09:20
    ♥ Do have faith in what you're doing.