
爬虫数据老不好,需要缓存来断点续爬实现
发布日期:2021-05-07 19:07:36
浏览次数:23
分类:原创文章
本文共 815 字,大约阅读时间需要 2 分钟。
global localData global isFirst global allSize filename="backUp.txt" if localData <= 0 and isFirst: try: count = -1 for count, line in enumerate(open(filename, 'rU',encoding='utf-8')): pass count += 1 localData = int(linecache.getline(filename, count).split("----")[0]) isFirst = False except: localData=0 if localData>0: # 数据已经抓过了 print("已经抓过的数据...%s"%(localData)) localData-=1 return ""
在代码的开端加上这行控制
每次抓好数据 保存起来
with open("backUp.txt", "a+", encoding="utf-8") as f: f.write(str(allSize)+"----"+str(data)+"\n")
可能你看起来比较乱 我阐述一下大概的思想把
就是没爬一条数据 给一个索引并写到本地
1----data
2----data
等下次再爬去的时候 读取最后一行的index
而且只读取一次 数量是几 就跳出几次循环 这样省去了加载 爬虫的速度会很快
因为鄙人现在还不能解决这个主机访问超时这样子的bug.....
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2025年04月10日 16时02分41秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
sso 单点登录的原理以及实现
2021-05-08
spring 程序开发步骤
2021-05-08
java基础知识:构造函数
2021-05-08
java基础知识:封装
2021-05-08
solr中只查询某一个字段的设置与设置时间排序
2021-05-08
linux下安装tomcat服务器
2021-05-08
mysql 中的数据实现递归查询
2021-05-08
linux常用命令-free
2021-05-08
linux下远程上传命令scp
2021-05-08
3)Learning diary for flutter about android
2021-05-08
(四)块设备文件
2021-05-08
可重入和不可重入函数
2021-05-08
(2.1)关系模型之关系结构和约束
2021-05-08
DBA 技能图谱1.0
2021-05-08
深入学习C++
2021-05-08
【HTTP】HTTP状态码图解
2021-05-08
《图解TCP/IP》学习——第六章TCP与UDP
2021-05-08
oracle循环插入测试数据
2021-05-08