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

想用广度优先的方式,爬一个网站的用户数,怎么写代码跟用包能做么精简资源呢

  •  
  •   jakeyfly · 2020-06-25 16:34:23 +08:00 · 1084 次点击
    这是一个创建于 1407 天前的主题,其中的信息可能已经有所发展或是发生改变。

    就是通过访问一个用户的页面,以某个粉丝很我的大 V 为切入点 然后通过其粉丝数量 广度优先 爬取用户资料。

    要怎么写代码跟结构可以最优化结省资源呢?

    百分级别的用户,用 REDIS 应该会崩吧

    KAFKA 呢? 好久没碰了 现在一头雾水 大佬们有没有案例赏个学习下

    12 条回复    2020-06-27 02:25:53 +08:00
    jakeyfly
        1
    jakeyfly  
    OP
       2020-06-25 16:34:48 +08:00
    忘记了说 用 PYTHON
    qiayue
        2
    qiayue  
       2020-06-25 16:40:19 +08:00
    不是一秒钟可以爬完,一定是控制好频率,不能太快,也不能太有规律,要有快有慢。
    那么就说明你不能一直把数据存在内存中,你需要有能够缓存数据的地方。
    存文件,或者存数据库都行。这种场景怎么可能会把 redis 给用崩掉?
    jakeyfly
        3
    jakeyfly  
    OP
       2020-06-25 16:49:06 +08:00
    @qiayue 应该是用 NOSQL 存的 您的意思是说 直接用 NOSQL 作为队列?
    dsg001
        4
    dsg001  
       2020-06-25 16:55:36 +08:00
    几年前爬知乎,用 mysql 也没问题,不考虑后期代码维护,gevent+requests+lxml 最简单省事
    JCZ2MkKb5S8ZX9pq
        5
    JCZ2MkKb5S8ZX9pq  
       2020-06-25 16:58:35 +08:00
    也要看平台的,比如微博限制粉丝显示上限,根本看不到多少的。
    要么买接口,要么长期潜伏。
    qiayue
        6
    qiayue  
       2020-06-25 17:06:14 +08:00
    做事之前不要想太多,先动手去做,做了之后遇到一个问题就解决一个问题,没有完美的方案,只有最适合自己的方案。
    jakeyfly
        7
    jakeyfly  
    OP
       2020-06-25 17:15:40 +08:00
    @JCZ2MkKb5S8ZX9pq 不用太多吧,我只是能抓多少就抓多少
    jakeyfly
        8
    jakeyfly  
    OP
       2020-06-25 17:59:44 +08:00
    @dsg001 如果考虑呢 要一直抓新用户可能
    gabon
        9
    gabon  
       2020-06-26 02:50:43 +08:00 via Android
    刚好之前做过。大概思路是布隆过滤器判断用户是否爬过,分布式调度,根据用户权重确定更新频率。话说现在微博生态这么差,爬到的数据质量有意义吗。。
    dsg001
        10
    dsg001  
       2020-06-26 18:20:18 +08:00
    @jakeyfly 那就上 scrapy,后期维护简单
    alienx717
        11
    alienx717  
       2020-06-26 18:53:37 +08:00
    爬虫的从入门到取保候审
    jakeyfly
        12
    jakeyfly  
    OP
       2020-06-27 02:25:53 +08:00
    @gabon 爬雪球
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   869 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 23:02 · PVG 07:02 · LAX 16:02 · JFK 19:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.