文章目录
- Python爬虫——Scrapy框架使用实例及执行过程
- 1、Scrapy框架使用实例
- 2、Scrapy框架执行过程
Python爬虫——Scrapy框架使用实例及执行过程
1、Scrapy框架使用实例
1、创建scrapy项目
scrapy项目名:scrapy_02_tc
scrapy startproject scrapy_02_tc
2、创建爬虫文件
爬虫文件名:tc_test
要访问的域名:https://gz.58.com/sou/?key=%E5%89%8D%E7%AB%AF%E5%BC%80%E5%8F%91&classpolicy=classify_D
scrapy genspider tc_test https://gz.58.com/sou/?key=%E5%89%8D%E7%AB%AF%E5%BC%80%E5%8F%91&classpolicy=classify_D
3、编写爬虫程序
修改配置文件:settings.py
ROBOTSTXT_OBEY = False
USER_AGENT = Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36
在 tc_test.py 文件中编写爬虫程序:
import scrapy
class TcTestSpider(scrapy.Spider):
name = 'tc_test'
allowed_domains = ['https://gz.58.com/sou/?key=%E5%89%8D%E7%AB%AF%E5%BC%80%E5%8F%91&classpolicy=classify_D']
start_urls = ['https://gz.58.com/sou/?key=%E5%89%8D%E7%AB%AF%E5%BC%80%E5%8F%91&classpolicy=classify_D']
def parse(self, response):
span = response.xpath('//div[@id="filter"]/div[@class="tabs"]/a/span')[0]
print(span.extract())
print(span.extract_first())
Selector(选择器):Scrapy 提供的数据提取方法,Selector 基于 lxml ,支持 XPath 选择器、CSS 选择器以及正则表达式,功能全面,解析速度和准确度非常高。
response 属性:
- response.text:获取响应对象的字符串格式数据
- response.body:获取响应对象的二进制格式数据
2、Scrapy框架执行过程
Scrapy框架执行过程图如下:
Scrapy框架执行过程步骤描述:
- ①:spiders把待爬取的 URL传递给引擎
- ②:引擎再把url传递给调度器
- ③:调度器将url生成请求对象放入指定队列中,再从队列中取出第一个请求交给引擎
- ④:引擎再把请求传递给下载器
- ⑤:下载器向互联网发送请求下载数据(response对象)
- ⑥:然后下载器先把数据传递给引擎,引擎再把数据传递给spiders
- ⑦:spider用xpath处理、分析,并提取出所需要的数据,得到解析结果,然后传递给引擎
- ⑧:引擎判断解析结果是数据还是url,如果是数据,就把数据传递给管道,由管道进行保存;如果是url,则交给调度器
上述Scrapy框架执行过程会一直循环,直到没有要爬取的 URL 时才会停止。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)