摘要: 使用分布式爬取,我的思路是这样的,一台机器爬取指定的url,存到缓存,爬url比解析总是要快吧,一页都有好几十的那种,就算每台机器的速度都一样,爬一次的url够几台机器同时去解析的了 接下来就是我们的解析了: 因为这个网站需要的数据是动态加载的,我js比较差,也不想去找函数,我就直接使用splash 阅读全文
posted @ 2019-01-11 16:21 Caionk 阅读(682) 评论(0) 推荐(0) 编辑
摘要: # -*- coding: utf-8 -*- import redis from hashlib import md5 class SimpleHash(object): def __init__(self, cap, seed): self.cap = cap self.seed = seed def hash(self, value): ... 阅读全文
posted @ 2019-01-11 16:06 Caionk 阅读(255) 评论(0) 推荐(0) 编辑
摘要: from concurrent.futures import ThreadPoolExecutor import time def sayh(pus): print("name: "+pus) time.sleep(2) def main(): put_list=["恩恩","嗯嗯","(⊙o⊙)嗯"] start1=time.time() for p... 阅读全文
posted @ 2019-01-10 12:56 Caionk 阅读(291) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2018-11-28 21:59 Caionk 阅读(0) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2018-10-11 00:18 Caionk 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 分布式问题: request队列集中管理 去重集中管理 储存管理 可以上github上面找一下scrapy-redis 相关模块 redis settings相关设置 运行分布式爬虫 其他的也就差不多一样的了 阅读全文
posted @ 2018-10-07 13:31 Caionk 阅读(280) 评论(0) 推荐(0) 编辑
摘要: scrapy是通过hashlib算法转成长度一致的url,然后再通过set集合去重的,有兴趣看源码 去重的中间件在scrapy 的 dupefilters.py文件中: --> #去重器 -->有个函数叫 这个是调度器 每次执行之前都会调用到 request_seen(request) 这个方法 这 阅读全文
posted @ 2018-10-03 23:55 Caionk 阅读(2795) 评论(0) 推荐(0) 编辑
摘要: 首先把爬虫写好后————》在同级文件夹新建一个文件夹(类似于日志)info————》接下来打开命令行cd到这个爬虫 ————》输入命令: 暂停之后需要重启第一行命令:scrapy crawl spider -s JOBDIR=info/001 尽量在命令行上做 阅读全文
posted @ 2018-10-03 23:22 Caionk 阅读(565) 评论(0) 推荐(0) 编辑
摘要: 基本的点击与发送 动态加载的数据获取 阅读全文
posted @ 2018-10-03 22:53 Caionk 阅读(305) 评论(0) 推荐(0) 编辑
摘要: 首先需要在ip代理的网站爬取有用的ip,保存到数据库中 随机在数据库中获取一个ip的代码 Middleware动态设置ip代理 阅读全文
posted @ 2018-10-02 23:59 Caionk 阅读(3675) 评论(0) 推荐(0) 编辑