scrapy

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

小樊
151
2024-05-15 13:53:18
栏目: 编程语言

要使用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选择器,可以更方便地提取网页数据,并定制提取规则以适应不同的页面结构和内容。

0
看了该问题的人还看了