上一页 1 ··· 32 33 34 35 36 37 38 39 40 ··· 67 下一页
摘要: 存值 若要存入集合的值已存在(redis),则返回值r1或r2是 0 阅读全文
posted @ 2019-10-28 23:32 市丸银 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 1、类 2、配置文件 阅读全文
posted @ 2019-10-28 23:24 市丸银 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 一、单爬虫运行 每次运行scrapy都要在终端输入命令太麻烦了 在项目的目录下创建manager.py(任意名称) 二、所有爬虫运行 1、在spiders同级创建commands目录(任意) 2、在其中创建 crawlall.py 文件,决定命令的运行 3、配置文件 4、manager.py 阅读全文
posted @ 2019-10-28 23:11 市丸银 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 一、下载中间件 1、应用场景 代理 USER_AGENT(在setting文件中配置即可) 2、定义类 a、process_request 返回None 执行顺序 md1 request -> md2 request -> md2 response -> md1 response b、process 阅读全文
posted @ 2019-10-28 22:56 市丸银 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 一、架构图 二、流程 1、引擎从调度器中取出一个URL,用于抓取 2、引擎把URL封装成一个请求(start_requests) 传递给下载器 3、下载器把资源下载下来,并封装成Response 4、爬虫解析(parse) Response 5、解析出实体(yield Item),交给pipelin 阅读全文
posted @ 2019-10-27 23:25 市丸银 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 一、使用xpath 不在scrapy框架中通过response HtmlResponse->TextResponse->self.selector.xpath(query, **kwargs)->selector(self)->from scrapy.selector import Selector 阅读全文
posted @ 2019-10-27 23:04 市丸银 阅读(2925) 评论(0) 推荐(0) 编辑
摘要: 设置代理的位置:下载中间件 一、内置代理(优点:简单,缺点:只能代理一个ip) 1、源码分析 process_request(self, request, spider)在下载器执行前执行 _set_proxy方法(设置代理)->self.proxies[scheme]->self.proxies 阅读全文
posted @ 2019-10-27 22:15 市丸银 阅读(2590) 评论(0) 推荐(0) 编辑
摘要: Scrapy引擎来爬虫中取起始的URL 1、调用start_requests方法(父类),并获取返回值 2、将放回值变成迭代器,通过iter() 3、执行__next__()方法取值 4、把返回值全部放到调度器中 在爬虫类中重写start_requests方法 from scrapy import 阅读全文
posted @ 2019-10-26 20:00 市丸银 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 一、深度 配置文件 settings.py 二、优先级 配置文件 优先级为正数时,随着深度越大,优先级越低 源码中,优先级 三、源码分析 1、深度 前提:scrapy yield request对象 -> 中间件 ->调度器... yield Request对象没有设置meta的值,meta默认为N 阅读全文
posted @ 2019-10-26 16:29 市丸银 阅读(1397) 评论(0) 推荐(0) 编辑
摘要: 一、原生 1、模块 2、RFPDupeFilter方法 a、request_seen 核心:爬虫每执行一次yield Request对象,则执行一次request_seen方法 作用:用来去重,相同的url只能访问一次 实现:将url值变成定长、唯一的值,如果这个url对象存在,则返回True表名已 阅读全文
posted @ 2019-10-25 23:45 市丸银 阅读(684) 评论(0) 推荐(0) 编辑
上一页 1 ··· 32 33 34 35 36 37 38 39 40 ··· 67 下一页