爱意满满的作品展示区。
resolvewang

分享一个分布式微博爬虫开源项目

  •  
  •   resolvewang ·
    ResolveWang · May 30, 2017 · 6760 views
    This topic created in 3447 days ago, the information mentioned may be changed or developed.

    用 celery+requests 撸了一个分布式微博爬虫,对 Python 数据采集有兴趣或者对微博数据采集有需求的同学可以看看,目前实现了用户信息抓取、特定话题微博搜索、用户主页所有微博抓取、指定微博所有评论抓取、指定微博所有转发抓取。四台机器大概一天可以抓 100w 条用户数据,微博可以抓上千万条。

    项目地址: https://github.com/ResolveWang/WeiboSpider

    求 fork & star

    26 replies  •  2018-05-29 08:08:11 +08:00
    zthxxx
    zthxxx
    May 30, 2017
    1
    已 star + watch
    jtsai
    jtsai
    May 30, 2017 via Android
    2
    顺路请假一下,一台 16g i7 的机器 做爬虫要多少网速比较适合
    resolvewang
    resolvewang
    OP
    May 30, 2017
    3
    @zthxxx 谢谢捧场
    resolvewang
    resolvewang
    OP
    May 30, 2017❤️1
    4
    @jtsai 你这个问题我觉得应该视具体情况而定。如果是抓文本内容的话,网速应该要不了太多,10M 独享肯定是够了,可能几兆都够了。如果抓视频或者图片等消耗 IO 的资源,那肯定是要网速越快越好咯。其实,很多时候,抓的东西都会有限制,这个时候,你会发现账号或者 ip 才是瓶颈了(对于个人开发者或者小公司而言)。

    爬虫很多时候主要就是占用 IO,cpu 和内存其实依赖比较小。一台机器的话,如果不考虑代理,很容易被封 IP。考虑代理的话,代理的可用性也需要考量。额,好像偏题了...你自己多尝试吧,爬虫比较依赖外部环境,反正需要视不同情况而定
    resolvewang
    resolvewang
    OP
    May 30, 2017
    5
    感觉 v 站的兄弟太给力了。多谢大家捧场!
    soulmine
    soulmine
    May 31, 2017
    6
    @jtsai 爬虫主要看两个指标 你的 IP 个数 /账户个数 /机器个数 还有你的机器性能
    goodluck
    goodluck
    May 31, 2017
    7
    已经 start +  watch, 两年前弄过类似的程序,说实话微博批量抓取还是比较有难度,pc 端单账号限制很多,以前只能用 wap 端抓取了 6 亿用户的微博(单机,半年,500 个账号)。好久没弄过了,楼主 github 写得不错,看看我抓的直播平台主播的微博: http://www.yibo666.cn/livetv/weibo/?is_ori=1
    resolvewang
    resolvewang
    OP
    May 31, 2017
    8
    @soulmine 补充一下,单是做爬虫,机器性能要求相对来说要低一些
    resolvewang
    resolvewang
    OP
    May 31, 2017
    9
    @goodluck 感谢支持。回踩一下
    resolvewang
    resolvewang
    OP
    May 31, 2017
    10
    @goodluck 咋感觉你这个没有登录啊?难道说不用登录也能抓?用的啥方法?
    haofly
    haofly
    May 31, 2017
    11
    super,super,666
    resolvewang
    resolvewang
    OP
    May 31, 2017
    12
    @haofly 靠,哪里都有你
    resolvewang
    resolvewang
    OP
    May 31, 2017
    13
    @haofly 快献出你宝贵的 star
    CosmoX
    CosmoX
    Jun 1, 2017
    14
    已赞!
    resolvewang
    resolvewang
    OP
    Jun 1, 2017
    15
    @CosmoX 谢谢支持
    haofly
    haofly
    Jun 1, 2017
    16
    @resolvewang 早就 start 了
    resolvewang
    resolvewang
    OP
    Jun 1, 2017
    17
    @haofly 哈哈哈,识货
    xiubin
    xiubin
    Jun 2, 2017
    18
    可以抓取一个用户所有的赞和评论吗?
    resolvewang
    resolvewang
    OP
    Jun 2, 2017
    19
    @xiubin 我是实现的针对给定微博,抓取它的所有评论。如果是用户的评论和赞,我没去实现。并且,好像在微博系统中,我们也看不到某个用户赞了什么和评论了什么啊
    xiubin
    xiubin
    Jun 2, 2017
    20
    那你就不能转个弯嘛?

    1. 针对某个用户,我们可以获取它关注的所有用户
    2. 进而获取这些用户的所有微博
    3. 针对所有微博我们可以获取所有评论

    then,我们不是就可以知道是否有某个用户进行点赞和评论了吗?

    是不是和你的初衷不太一致?你是要做数据采集,我是要关注女神 /偶像他们的动作。。
    resolvewang
    resolvewang
    OP
    Jun 3, 2017 via Android❤️1
    21
    @xiubin 你说的前三个功能我都实现了啊,你看看项目介绍就明显可以得知啊。我说的给定微博,有两个来源,一个是搜索关键词获取,一个是通过给定用户来抓。不过有一点需要明确,不可能获取某个用户的所有关注和粉丝,只能获取前五页。确实你说的这个并不是项目的初衷,但也可以依托它较为轻松的实现
    gogobody
    gogobody
    Jun 6, 2017 via Android
    22
    马克
    resolvewang
    resolvewang
    OP
    Jun 7, 2017
    23
    @gogobody 感谢支持
    run2
    run2
    Jun 7, 2017
    24
    改成 serverless 架构 ? (不知道 AWS Lambda 每次运行时会不会是不同的动态 IP )
    https://github.com/Miserlou/Zappa
    https://github.com/awslabs/chalice

    感觉爬虫和 serverless 很搭
    resolvewang
    resolvewang
    OP
    Jun 7, 2017
    25
    @sobigfish serverless 没怎么了解,如果可以轻松切换弹性公网 ip,那么我觉得是非常棒的
    gitopen
    gitopen
    May 29, 2018 via Android
    26
    @goodluck 最近有这方面的需求,就来翻 v2。好奇爬这么多数据是干嘛用的😄
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   3538 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 50ms · UTC 05:16 · PVG 13:16 · LAX 21:16 · JFK 00:16
    ♥ Do have faith in what you're doing.