简介
Scrapy是目前Python的最流行的爬虫框架。
TODO:
基本原理
引用别人总结的:
- 入口为
start_requests方法或者start_urls数组 parse方法一般用yield来生成一个迭代器,返回一个或多个Request/Item,或者二者都有- 每个
Request都会默认使用上次请求的Cookies信息 - 对于需登陆的数据,可以在
start_requests中进行登陆 - 页面内常用
xpath或者css selecter进行解析,也可以使用BeautifulSoup等其它工具 Spider的数据请求部分叫Downloader,Scrapy是基于事件的,因此从宏观上讲,数据请求和响应是线程分离的Spider的结果用pipeline来进行处理,可以自定义各种pipeline,pipeline中可以对抓取到的item进行去重、数据存储等操作Spider与Downloader中间有一种叫做middleware的东西,进行管道式数据加工,有点类似于过滤器、代理之类的- 随机
User_agent就是通过downloader middleware来实现的