爬虫-今日头条我的收藏-增量式(二)

发布时间 2023-12-19 00:19:26作者: pmh905001

背景:

能够全量爬取今日头条我的收藏内容之后,新收藏的内容依然希望能够保存到新文件中。

思路:

  • 每次都全量爬取太耗时,增量式爬取节省时间。
  • 取消收藏的影响:爬虫旧文件用户收藏的链接有可能被取消收藏。所以在断点位置的判断上考虑取连续100条的我的收藏id作为判断基准,这样即便用户偶尔取消收藏几条,依然能够准确找到断点。
  • 增量式功能可以覆盖全量下载我的收藏。
  • 每次运行增量爬虫,如果有新内容,则新增一个文件,文件格式:myfavorites-年月日-时分秒.txt。如果没有新内容,不需要新增文件。
实现:
  • 代码参考这里:https://github.com/pmh905001/myfavorite/blob/master/toutiao/increasmentdownload.py
  • 从断点处按照有新到旧的id需要获取最多100条,这种情况下需要遍历所有myfavorites-年月日-时分秒.txt的文件且需要倒序排列,依次读取id直到100条。参考latest_ids_from_file()
  • 在获取每页的数据之后,需要找到断点,把冗余的数据给删除。重置has_more=False。参考get_page()方法
  • 在写文件的时候,如果页数据收藏列表如果为空,则不写入文件。参考write_page()
  • 代码写的比较粗糙,还需要重构