Scrapy数据解析(XPath、CSS)
import scrapy
class MySpider(scrapy.Spider):
name = 'example.com'
allowed_domains = ['example.com']
start_urls = ['http://www.example.com/products']
def parse(self, response):
# 使用XPath选择所有产品链接
for href in response.xpath('//a[@class="product-link"]/@href').getall():
yield response.follow(href, self.parse_product)
# 使用CSS选择下一页链接并发起请求
next_page_url = response.css('a.next-page::attr(href)').get()
if next_page_url is not None:
yield response.follow(next_page_url, self.parse)
def parse_product(self, response):
# 使用XPath提取产品名称和价格
name = response.xpath('//h1[@class="product-name"]/text()').get()
price = response.xpath('//p[@class="product-price"]/text()').get()
yield {
'name': name,
'price': price,
}
这个简单的Scrapy爬虫示例展示了如何使用XPath和CSS选择器来提取网页中的数据。它首先解析起始URL页面,提取所有产品链接,并为每个产品链接调用parse_product
方法来提取详细信息。同时,它还会检查是否有下一页,并对其进行爬取。这个例子教会开发者如何在Scrapy中使用XPath和CSS选择器来定位和提取所需的数据。
评论已关闭