爬虫编程逻辑问题请教

21次阅读

共计 462 个字符,预计需要花费 2 分钟才能阅读完成。

有个编程问题, 我在爬取一个相册专辑.
里面目前有 100 张图片, 图片 id 从 100 到 1, 最近的 id 为 100, 最旧的 id 为 1
相册内容会变动, 图片 id 会增加到 110,120 等等
每次爬取可能只爬取了 10 张 (比如从 id100 爬取到了 id90)
现在是把爬取过的图片 id 入库了, 每次下载前查询下是否爬过
我该怎么记录能不少爬取数据? 相册更新了该怎么处理?

我想到的是这样解决的:
1. 当专辑第一次运行时, 记录初始图片 id(100) 和当前图片 id, 同时标记专辑未爬完 (是否结束为否)
2. 爬数据 … 每次结束时更新当前图片 id 为当前的 id , 意思下次从这里开始
3. 第二次运行时, 如果是否结束为否, 就从第二步中的当前图片 id 开始向后爬, 直到把是否结束变成是
4. 如果结束了, 从头开始爬, 爬取时再更新当前图片 id 字段
5. 当前图片 id = 初始图片 id 时, 把初始图片 id 更新成最新的, 专辑结束

关键就是是否结束这个字段了, 为否时爬取旧数据, 当旧数据爬完时反过来爬新数据
后续再运行就都是爬新数据了

表结构:
相册 id | 初始图片 id | 当前图片 id | 是否结束

请问还有更好的办法不

正文完
 0