爬虫
第八天
scrapy框架流程
其流程可以描述如下:
-
调度器把requests–>引擎–>下载中间件—>下载器
-
下载器发送请求,获取响应---->下载中间件---->引擎—>爬虫中间件—>爬虫
-
爬虫提取数据,分为两类:
-
提取的是url地址,组装成request对象---->爬虫中间件—>引擎—>调度器
-
提取数据—>引擎—>管道
-
-
管道进行数据的处理和保存
注意:
- 图中绿色线条的表示数据的传递
- 注意图中中间件的位置,决定了其作用
- 注意其中引擎的位置,所有的模块之前相互独立,只和引擎进行交互
scrapy的入门使用
-
创建工程
scrapy startproject pro_name(工程名称)
-
创建爬虫文件
cd pro_name
srcapy genspider spider_name allowed_domain
-
找spdier_name.py文中完成爬虫代码
class ItcastSpider(scrapy.Spider): name = 'itcast' # 爬虫名 allowed_domains = ['itcast.cn'] # 允许爬去的域名范围 start_urls = ['http://www.itcast.cn/channel/teacher.shtml'] # 起始的url def parse(self, response): # start_url发请求后的响应的处理函数 li_list = response.xpath("//div[@class='tea_con']/div/ul/li") for li in li_list: item = { } item['name'] = li