爬虫重构架构(过时)
2018-10-15 17:42:34 0 举报
爬虫流程图
作者其他创作
大纲/内容
否
退出
任务列表
成功?
返回HTML
注册模块更新进server表
从自用task取任务
下一轮任务
将拿到的URLList分别update
解析网页
监控模块
结束
启动
注册成功?
通过URL查infodetail
是
带SID申请注销
修改task状态为待人工审查(status=4)
命中?
返回注册结果
请求者(SID)是否已注册?
带SID申请
跳出此模块
wrongtask表中status字段为错误类型标识 错 误 -- status值 403 -- 403 404 -- 404 500 -- 500 超时 -- 001 SSL错误 -- 002NoHttpResponse -- 003 解析时出错 -- 004 程序错误 -- 005 未知错误 -- 000
返回任务列表
请求网页
根据task中标识符判断任务类型
404
插入urllist分别包含是否为新增url、是否被取出过两个标识
注:该方法应加锁,确保同一时间只能有一只爬虫在申请任务
手动/意外退出
申请注册
403、超时、其它
请求任务
任务列表为空?
提取产品所有信息
带SID请求注册
提取产品价格信息
任务执行模块
返回注销结果
构造SQL,存入数据库并更新任务状态
在kingshard的task表中将该url对应的任务优先级提升
根据domain调用对应模块处理任务
404不存在
生成分页URL保存filter
修改task状态为待下一次执行(status=3)task失败次数标识加1
手动回滚移除该产品刚添加的详情信息价格信息关联品别名
删除旧数据添加新数据
根据监控模块维护的分发状态从任务表筛选任务
存入数据库
更新任务
修改task状态为废弃任务(status=5)
自用task
详情页
读取配置文件
任务表数据来源为urllist导入列表爬虫在添加记录到urllist时会添加任务类型标识符
任务分发模块
存在?
申请注销
500
返回空
爬虫客户端
200
web控制端
存储Wrongtask
列表爬虫
进入
更新库存
识别页面类型
定时任务,5min运行一次。通过wrongtask表统计1h内数据网页响应500次数5,暂停分发此domain下任务请求网页超时次数200,暂停分发此domain任务网页解析出错次数5,暂停分发此domain下任务代理IP消耗金额2元,暂停分发所有任务以上暂停后均邮件通知,提供接口一键恢复分发
更新取到的task状态0-1更新sid为请求者SID
入库
是否为分页URL?
增量任务
注册模块判断是否已注册等更新进server表
收藏
收藏
0 条评论
下一页