断点续爬:是执行过一次的爬虫,再一次执行不是从头开始而是从上一次爬取的点继续爬取。
主要是在爬取的过程中记录下当前的状态,在开始爬虫的时候要判断一下是否有对应的爬虫状态记录。
根据需要爬取的数据大小和类型的不同可以使用不同方式实现断点续爬。
- 爬取少数量的文件或者图片的情况,可以在request得到页面信息的同时比对已经存储的数据是否存在 类似:os.path.exists(responses)的代码 ,存在则跳过
- 如果可以只爬取几张页面就可以构建后面需要爬取的所有url,可以在构建完url后将url持久化存储,在之后每次将该页面数据存储成功后就将该url删除
- 爬取大量数据,在request的同时记录下当前this_url和this_url标识(类似于这个this_url是几级类目),在存储完成当前this_url的数据同时,得到下一个页面的next_url,删除this_url,进入下一个请求
这是我的一些个人想法思路,还有什么更好的实现思路或者可以改进上面思路的想法,可以在评论区一起讨论进步!
这里是y1t!!