Python-100-Days/Day66-75/08.Scrapy高级应用.md

33 lines
1.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

## Scrapy爬虫框架高级应用
### Spider的用法
在Scrapy框架中我们自定义的蜘蛛都继承自scrapy.spiders.Spider这个类有一系列的属性和方法具体如下所示
1. name爬虫的名字。
2. allowed_domains允许爬取的域名不在此范围的链接不会被跟进爬取。
3. start_urls起始URL列表当我们没有重写start_requests()方法时,就会从这个列表开始爬取。
4. custom_settings用来存放蜘蛛专属配置的字典这里的设置会覆盖全局的设置。
5. crawler由from_crawler()方法设置的和蜘蛛对应的Crawler对象Crawler对象包含了很多项目组件利用它我们可以获取项目的配置信息如调用crawler.settings.get()方法。
6. settings用来获取爬虫全局设置的变量。
7. start_requests()此方法用于生成初始请求它返回一个可迭代对象。该方法默认是使用GET请求访问起始URL如果起始URL需要使用POST请求来访问就必须重写这个方法。
8. parse()当Response没有指定回调函数时该方法就会被调用它负责处理Response对象并返回结果从中提取出需要的数据和后续的请求该方法需要返回类型为Request或Item的可迭代对象生成器当前也包含在其中因此根据实际需要可以用return或yield来产生返回值
9. closed():当蜘蛛关闭时,该方法会被调用,通常用来做一些释放资源的善后操作。
### 中间件的应用
#### 下载中间件
#### 蜘蛛中间件
### Scrapy对接Selenium
### Scrapy部署到Docker