摘要: class SpiderMiddleware(object): def process_spider_input(self,response, spider): """ 下载完成,执行,然后交给parse处理 :param response: :param spider: :return: ... 阅读全文
posted @ 2018-03-25 13:11 老王的农场 阅读(173) 评论(0) 推荐(0) 编辑
摘要: ##settings设置 阅读全文
posted @ 2018-03-25 13:11 老王的农场 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 在spaider同级,创建任意目录commands 在其中创建crawlall文件 from scrapy.commands import ScrapyCommand from scrapy.utils.project import get_project_settings class Comman 阅读全文
posted @ 2018-03-24 16:20 老王的农场 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 利用信号在指定的位置注册指定操作 from scrapy import signals class MyExtension(object): def __init__(self, value): self.value = value @classmethod def from_crawler(cls 阅读全文
posted @ 2018-03-24 15:48 老王的农场 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 自定义去重 -类。自定义一个类。DUPEFILTER_CLASS = 'sp2.rep.RepeatUrl' -配置文件中指定 :scrapy.dupefilter.RFPDupeFilter scrapy默认使用 scrapy.dupefilter.RFPDupeFilter 进行去重,相关配置有 阅读全文
posted @ 2018-03-23 18:50 老王的农场 阅读(2362) 评论(0) 推荐(0) 编辑
摘要: # -*- coding: utf-8 -*- import scrapy from scrapy.http import Request from scrapy.core.engine import ExecutionEngine class ChoutiSpider(scrapy.Spider): name = 'baidu' allowed_domains = ['bai... 阅读全文
posted @ 2018-03-22 16:43 老王的农场 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 规则 from scrapy.http import Request for url in response: yield Request(url=url,callback=self.parse) # yield Request,放到调度器# yield ,放到pipeline def parse(self,response): #获取指定数据,进行持久化 ... 阅读全文
posted @ 2018-03-22 13:10 老王的农场 阅读(108) 评论(0) 推荐(0) 编辑
摘要: text # 输出字符串类型 body # 输出字节类型 import sys,os sys.stdout=io.TextIOWrapper(sys.stdout.buffer,encoding='gb18030') gb18030 兼容性更好。中文,日文,韩文 推荐以下方式 常用方式 #当前下面去 阅读全文
posted @ 2018-03-21 19:07 老王的农场 阅读(138) 评论(0) 推荐(0) 编辑
摘要: scrapy框架,用来数据挖掘,信息处理,存储历史数据、监测和自动化测试等操作。 Scrapy 使用了 Twisted异步网络库来处理网络通讯。 Scrapy主要包括了以下组件: 引擎(Scrapy)用来处理整个系统的数据流处理, 触发事务(框架核心) 调度器(Scheduler)用来接受引擎发过来 阅读全文
posted @ 2018-03-21 13:43 老王的农场 阅读(137) 评论(0) 推荐(0) 编辑
摘要: io多路复用:用来检测多个socket对象是否有变化 总结 1.client.setblocking(false) 2,select.select() #检测:连接成功,数据回来 阅读全文
posted @ 2018-03-20 18:45 老王的农场 阅读(259) 评论(0) 推荐(0) 编辑