6-爬虫-scrapy解析数据(使用css选择器解析数据、xpath 解析数据)、 配置文件
以下是一个使用Scrapy框架的简单爬虫示例,它展示了如何使用CSS选择器和XPath选择器来解析网页数据,并设置了一个简单的配置文件。
import scrapy
class MySpider(scrapy.Spider):
name = 'example.com'
allowed_domains = ['example.com']
start_urls = ['http://www.example.com/products']
def parse(self, response):
# 使用CSS选择器解析数据
for product in response.css('div.product'):
name = product.css('div.product-name::text').extract_first()
price = product.css('div.product-price::text').extract_first()
yield {
'name': name,
'price': price,
}
# 使用XPath选择器解析数据
for product in response.xpath('//div[@class="product"]'):
name = product.xpath('div[@class="product-name"]/text()').extract_first()
price = product.xpath('div[@class="product-price"]/text()').extract_first()
yield {
'name': name,
'price': price,
}
# 配置文件 settings.py 示例
BOT_NAME = 'myspider'
SPIDER_MODULES = ['myspider.spiders']
NEWSPIDER_MODULE = 'myspider.spiders'
ROBOTSTXT_OBEY = True
LOG_LEVEL = 'ERROR' # 只记录错误信息
这个简单的爬虫示例定义了一个名为example.com
的爬虫,它会从http://www.example.com/products
网页上提取产品信息,包括名称和价格。在parse
方法中,它使用CSS选择器和XPath选择器来提取数据,并通过生成器产生包含提取信息的Item。配置文件settings.py
中设置了爬虫的名字、模块路径、是否遵守robots.txt协议以及日志级别。
评论已关闭