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

pyspider 爬去文章列表问题

  •  
  •   just1 · 2018-07-01 17:43:18 +08:00 · 1333 次点击
    这是一个创建于 2370 天前的主题,其中的信息可能已经有所发展或是发生改变。

    文章不会更新,永远只需爬取一次,所以靠后的页码就不用再次爬取。

    如果抛开框架,大致的思路就是在查重的时候,重:不爬,并且后续列表不再爬,不重:爬取文章。

    但是不知道怎么在 pyspider 中实现,请指教。

    9 条回复    2018-07-05 09:28:53 +08:00
    WildCat
        1
    WildCat  
       2018-07-01 19:17:48 +08:00   ❤️ 1
    hash function? 数学之美了解一下。别整天用这个那个框架,基础还是少不了
    just1
        2
    just1  
    OP
       2018-07-01 19:49:30 +08:00 via Android
    @WildCat 但是重写一个轮子太费时费力了,而且效果可能并不好😓
    golmic
        3
    golmic  
       2018-07-01 22:03:04 +08:00 via Android
    for url in urls: if url in db : break
    binux
        4
    binux  
       2018-07-01 23:34:03 +08:00 via Android   ❤️ 1
    默认就是去重的
    just1
        5
    just1  
    OP
       2018-07-02 07:35:46 +08:00 via Android
    @binux 大佬你好。可能我没表达明白我的意思。
    url 是默认去重这个我知道。
    但是场景是这样,比如一页 10 文章(此时 1 页,我都采集过了,(/list/1 )。过了 1 天,多发布 15 文章(此时 3 页),那么此时我需要采集 /list/1 和 /list/2(因为发现 2 中有已经采集过的文章,所以 /list/3 就不去访问了)。
    binux
        6
    binux  
       2018-07-02 09:30:50 +08:00   ❤️ 1
    @just1 #5 这样没辙,多爬几页咯
    just1
        7
    just1  
    OP
       2018-07-02 15:01:31 +08:00
    @binux #6 如果列表过多,感觉任务偏重,有什么框架能解决吗
    just1
        8
    just1  
    OP
       2018-07-02 15:05:19 +08:00
    @golmic #3 意思就是这样,但是不知道在框架内怎么实现
    binux
        9
    binux  
       2018-07-05 09:28:53 +08:00   ❤️ 1
    @just1 #7 预估一下一天更新的量 *2 页就行了,*2 的抓取量都受不了的话,*1 也完成不了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5363 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 07:01 · PVG 15:01 · LAX 23:01 · JFK 02:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.