随笔分类 - Scrapy
摘要:爬虫:(在这里不用配置start_url,直接可以取redis里面取start_url,可以多个) from scrapy_redis.spiders import RedisSpider # class ChoutiSpider(scrapy.Spider): class ChoutiSpider(RedisSpider): name = 'baidu'##在这里设置了这个name...
阅读全文
摘要:首先先谈谈深度优先和广度优先的定义 深度优先搜索算法(英语:Depth-First-Search,DFS)是一种用于遍历或搜索树或图的算法。沿着树的深度遍历树的节点,尽可能深的搜索树的分支。当节点v的所在边都己被探寻过,搜索将回溯到发现节点v的那条边的起始节点。这一过程一直进行到已发现从源节点可达的
阅读全文
摘要:settings里面的配置:'''当下面配置了这个(scrapy-redis)时候,下面的调度器已经配置在scrapy-redis里面了'''##########连接配置######## REDIS_HOST = '127.0.0.1' REDIS_PORT = 6379 # REDIS_PARAMS = {'password':'xxxx'} #Redis连接参数,默认:REDIS_P...
阅读全文
摘要:不使用scrapy-redis的: 最初始的方法: settings里面: settings里面: 第一种去重方法:原生的scrapy-redis去重: settings里面: DUPEFILTER_CLASS = 'scrapy_redis.dupefilter.RFPDupeFilter'##自
阅读全文
摘要:''' extract()拿到的是字符串 xpath拿到的是selector对象,可以继续往下面找标签 //是孙子,子子孙孙,都可以找到 /是孩子 @是找属性 .是在当前的标签下面往下找 extra_first()只取第一个值 ./儿子(当前标签下面) .//当前标签下面的孙子,子子孙孙都可以 ex
阅读全文
摘要:from scrapy import signals engine_started = object() engine_stopped = object() spider_opened = object() spider_idle = object() 爬虫被闲置的时候 spider_closed = object() spider_error = object() request_sc...
阅读全文
摘要:不在终端运行爬虫方法:不在终端运行爬虫,可以在最外层项目的下创建start.py文件导入如下配置:直接运行就可以了 自定制scrapy命令方法: 在settings里面的配置:COMMANDS_MODULE='scrapyproject1.commands' 首先在你要启动的项目下面(spider的
阅读全文
摘要:执行顺序: 找到这个爬虫,并执行爬虫里面的start_requets的方法,得到一个迭代器,start_request默认的回调函数是parse迭代器的里面的作用是会循环获取到requets对象,requtes对象里面封装了要访问的url和回调函数将所有的request对象(任务)放到调度器里面,供
阅读全文
摘要:去重原理:相当于是写了集合self.vister_urls=set(),把所有的url放进去当执行yield Requets的时候就会执行,进行判断,看是否这个访问的url在这个集合里面,如果在的话,就不添加进去了 from scrapy.utils.request import request_f
阅读全文
摘要:执行顺序:pipeline写 pipeline类class Scrapyproject1Pipeline(object): def process_item(self, item, spider): 写items类:class Scrapyproject1Item(scrapy.Item): url
阅读全文