scrapy-shell
- https://segmentfault.com/a/1190000013199636?utm_source=tag-newest
- shell
- 启动
- Linux: ctr+T,打开终端,然后输入scrapy shell “url:xxxx”
- windows: scrapy shell “url:xxx”
- 启动后自动下载指定url的网页
- 下载完成后,url的内容保存在response的变量中,如果需要,我们需要调用response
- response
- 爬取到的内容保存在response中给
- response.body是网页的代码
- resposne.headers是返回的http的头信息
- response.xpath()允许使用xpath语法选择内容
- response.css()允许使用css语法选区内容
- selector
- 选择器,允许用户使用选择器来选择自己想要的内容
- response.selector.xpath: response.xpath是selector.xpath的快捷方式
- response.selector.css: response.css是他的快捷方式
- selector.extract:把节点的内容用unicode形式返回
- selector.re:允许用户通过正则选区内容
分布式爬虫
-
单机爬虫的问题:
- 单机效率
- IO吞吐量
-
多爬虫问题
- 数据共享
- 在空间上不同的多台机器,可以成为分布式
-
需要做:
- 共享队列
- 去重
-
Redis
- 内存数据库
- 同时可以落地保存到硬盘
- 可以去重
- 可以把他理解成一共dict,set,list的集合体
- 可以对保存的内容进行生命周期控制
-
内容保存数据库
- MongoDB
- Mysql等传统关系数据库
-
安装scrapy_redis
- pip install scrapy_reids
- github.com/rolando/scrapy-redis
- scrapy-redis.readthedocs.org
推荐书籍
- Python爬虫开发与项目实战, 范传辉, 机械工业出版社
- 精通 python爬虫框架scrapy, 李斌 翻译, 人民邮电出版社
- 崔庆才,