摘要: 1.概念:多台机器上可以执行同一个爬虫程序,实现网站数据的分布爬取。 2.原生的scrapy 是不可以实现分布式爬虫? a) 调度器无法共享 b) 管道无法共享 3. scrapy-redis 组件:专门为scrapy 开发的一套组件。该组件可以让scrapy 实现分布式 a) 下载:pip ins 阅读全文
posted @ 2018-12-24 17:21 Corey0606 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 服务器配置环境centos7 python3: 见web标签中安装方法 1.安装各类基础模块 (为centos系统增加编译功能) (安装这些模块都是为了成功编译安装python3,防止出现各种异常) (安装这个模块是为了让uwsig支持使用“-x"选项,能通过xml文件启动项目) 2.给python 阅读全文
posted @ 2018-12-21 13:52 Corey0606 阅读(382) 评论(0) 推荐(0) 编辑
摘要: rules: 有经验的同学都知道它是一个列表,存储的元素时Rule类的实例,其中每一个实例都定义了一种采集站点的行为。如果有多个rule都匹配同一个链接,那么位置下标最小的一个rule将会被使用。 __init__: 在源码中可以看到,它主要就是执行了_compile_rules方法,这边暂时不讲。 阅读全文
posted @ 2018-12-21 09:24 Corey0606 阅读(344) 评论(0) 推荐(0) 编辑
摘要: http://www.runoob.com/redis/redis-install.html 阅读全文
posted @ 2018-12-20 11:10 Corey0606 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 创建基于CrawlSpider的爬虫文件 scrapy genspider -t crawl 爬虫名称 链接 注意follow参数 例1:follow = False spider/chouti.py 执行结果 : 没有允许链接提取器继续在提取到的链接中继续作用 例2: follow = True 阅读全文
posted @ 2018-12-19 17:47 Corey0606 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 以爬取某电影网的电影列表以及子链接中的信息为例子 spiders/parndemo.py pipelines.py settings.py items.py 阅读全文
posted @ 2018-12-19 16:44 Corey0606 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 日志等级(种类): ERROR:错误 WARNING: 警告 INFO:一般信息 DEBUG:调试信息(默认) 指定输入某一中日志信息: settings.py中添加LOG_LEVEL = "ERROR" 将日志信息存储到制定文件中,而并非显示在终端里: settings.py: LOG_FILE 阅读全文
posted @ 2018-12-19 16:36 Corey0606 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 下载中间件作用: 拦截请求,可以将请求的ip进行更换 流程: 1.下载中间件类的自制定 a) object b) 重写process_request(self, request, spider)的方法 2.配置文件中进行下载中间价的开启 middlewares.py settings.py里开启中间 阅读全文
posted @ 2018-12-19 16:27 Corey0606 阅读(125) 评论(0) 推荐(0) 编辑
摘要: import scrapy class CookiedemoSpider(scrapy.Spider): name = 'cookiedemo' # allowed_domains = ['www.douban.com'] start_urls = ['https://www.douban.com/accounts/login/'] def parse(se... 阅读全文
posted @ 2018-12-19 16:17 Corey0606 阅读(115) 评论(0) 推荐(0) 编辑
摘要: scrapy发起post请求的两种方式 一定要对start_requests方法进行重写 1.Request方法中给method属性复制成post 2.FormRequest()进行post请求的发送 方法1(不建议使用): 方法2(推荐用scrapy.FormRequest): 阅读全文
posted @ 2018-12-19 16:13 Corey0606 阅读(509) 评论(0) 推荐(0) 编辑