如何使用Scrapy的XPath或CSS选择器提取网页数据

1018
2024/4/29 13:53:18
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

要使用Scrapy的XPath或CSS选择器提取网页数据,首先需要创建一个Scrapy的Spider,并在Spider中定义要提取数据的规则。在Spider中,可以使用XPath或CSS选择器来定位和提取页面中所需的数据。

下面是一个使用XPath提取数据的示例:

import scrapy

class MySpider(scrapy.Spider):
    name = 'example'
    start_urls = ['http://example.com']

    def parse(self, response):
        data = {}
        data['title'] = response.xpath('//h1/text()').get()
        data['content'] = response.xpath('//div[@class="content"]/p/text()').getall()
        
        yield data

在上面的示例中,我们使用XPath提取了页面中的标题和内容。response.xpath()方法用于定位节点,然后可以使用get()getall()方法来获取节点的文本内容。

类似地,可以使用CSS选择器来提取数据:

import scrapy

class MySpider(scrapy.Spider):
    name = 'example'
    start_urls = ['http://example.com']

    def parse(self, response):
        data = {}
        data['title'] = response.css('h1::text').get()
        data['content'] = response.css('.content p::text').getall()
        
        yield data

在上面的示例中,我们使用CSS选择器提取了相同的数据。response.css()方法用于定位节点,然后可以使用get()getall()方法来获取节点的文本内容。

通过使用XPath或CSS选择器,可以更方便地提取网页数据,并定制提取规则以适应不同的页面结构和内容。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: scrapy怎么创建项目