scrapy学习之一-基础

来源:互联网 发布:mac软件太少 编辑:程序博客网 时间:2024/06/13 01:24

1、scrapy是python语言编写的爬虫框架,支持扩展,帮开发者完成了基础的搭建,开发者只需开发核心代码。至于爬取速率、cookie、线程数、间隔时间只需要配置即可。一定程度上方便了开发者。好像不支持分布式吧,也谈不上分布式,支持并发,默认并发请求16个。

2、用scrapy主要写spider、item、pipe。item是要采集的信息的载体,是一个对象,用作传输数据用。pipe是持久化组件,所有采集到的item都会传到pipe里保存。工作量就是spider的编写,要写url入口集,然后解析response,然后再爬取,深度爬取。保存再保存。

3、scrapy单独也能运行,但放在专门的服务器上更方便,放到scrapyd服务器,统一管理,启动停止方便。唯一的好处就是统一管理。

4、要理解scrapy里的yield关键字的用法,理解懒遍历。是python的一绝啊。

5、要会用xpath语法,解析爬取的response,筛选需要的信息。

6、要学会使用try。。。用法exception,使程序更健壮,不会因为一个异常而终止全部任务。

7、要学会记录日志,记录采集的日志,便于查找问题

8、scrayp是基于twisted编写的,注定是基于事件驱动、异步操作。有很多callback事件

9、scrapy包含有几大模块:调度器scheduler、item pipeline、engine主引擎、downloader下载器、spider爬虫,一共5大模块结构。各个组件异步工作,各自封装。

10、解析html的技术有xpath、beautifulsoup、lxml

11、想要清洗数据,可以在pipeline项目管道中进行

12、start_urls里的每个请求都会新建一个Request对象,然后每个Request都会回调parse方法。

13、可以写多个pipeline按照顺序处理一个item,就是说一个item要依次经过多个pipeline处理。此时可做清洗数据

14、scrapy可以发邮件哦、也可以记录日志哦。不用再插入数据库了,记录成日志文件就行啦,减少数据库的压力了啊


原创粉丝点击