摘要: 爬虫数据去重: 使用MD5生成指纹判断页面是否变化 数据存入mongodb,对关键字进行复合索引(千万以下) 对数据关键字进行哈希映射,生成指纹判断是否在redis的指纹集合中,并可通过是否过滤判断request对象是否进队,对request对象进行过滤(千万级别) 布隆过滤器,实现大数据去重(亿级 阅读全文
posted @ 2019-08-04 19:11 爱吃猫的鱼i 阅读(652) 评论(0) 推荐(0) 编辑
摘要: 数据去重 生成指纹:利用hashlib的sha1,对request的请求体、请求url、请求方法进行加密,返回一个40位长度的16进制的字符串,称为指纹 fp = hashlib.sha1() fp.update(to_bytes(request.method)) fp.update(to_byte 阅读全文
posted @ 2019-08-03 20:23 爱吃猫的鱼i 阅读(1088) 评论(0) 推荐(1) 编辑
摘要: 哨兵机制存在的意义: 为了实现redis故障转移的自动化。自动发现,自动转移。不需要人工参与。 用户管理多个Redis服务器,该系统执行三个任务: 监控:哨兵会不间断的检查Master和Slave是否正常运行 提醒:当被监控的某个Redis出现问题,哨兵通过API向管理员或者应用程序发送通知 自动故 阅读全文
posted @ 2019-08-03 20:01 爱吃猫的鱼i 阅读(423) 评论(0) 推荐(0) 编辑
摘要: 存储形式: 存储在redis中,“spider_name:username–password":cookie 建立py文件及包含方法: initcookies() 初始化所有账号的cookies,将所有账号对用进行登陆获取cookies并保存在redis中 update_cookie(spider_ 阅读全文
posted @ 2019-08-03 19:46 爱吃猫的鱼i 阅读(508) 评论(0) 推荐(0) 编辑
摘要: scrapy中间件分下载器中间件和爬虫中间件 下载器中间件(downloader middlewares):主要处理request请求发出去和response响应返回的一些回调。 方法: process_request(self,request,spider): 当request请求经过下载器中间件 阅读全文
posted @ 2019-08-03 18:58 爱吃猫的鱼i 阅读(411) 评论(0) 推荐(0) 编辑