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):
# 使用xpath解析
span = response.xpath('//div[@id="filter"]/div[@class="tabs"]/a/span')[0]
print(span.extract())
print(span.extract_first()) # 提取列表中第1个文本内容
Selector(选择器):Scrapy 提供的数据提取方法,Selector 基于 lxml ,支持 XPath 选择器、CSS 选择器以及正则表达式,功能全面,解析速度和准确度非常高。
extract():提取selector对象的文本内容
extract_first():提取selector列表中的第1个文本内容
response 属性:
Scrapy框架执行过程图如下:

Scrapy框架执行过程步骤描述:
上述Scrapy框架执行过程会一直循环,直到没有要爬取的 URL 时才会停止。