📜  scrapy 获取选择器 innerhtml 的原始 html 内容 - Python (1)

📅  最后修改于: 2023-12-03 14:47:18.921000             🧑  作者: Mango

使用Scrapy获取选择器内的HTML内容

Scrapy是一个Python的爬虫框架,它可以让你轻松地提取所需的数据,并将其存储到数据库中。在使用Scrapy时,可能会遇到需要获取选择器内的HTML内容的情况,本文将介绍如何通过Scrapy来获取选择器内的HTML内容。

获取选择器内的HTML内容

要获取选择器内的HTML内容,我们需要使用Scrapy的response.css()方法或response.xpath()方法。这两种方法都可以选择具有给定CSS类或XPath的元素,并返回它们的HTML内容。

使用response.css()方法获取HTML内容

下面是使用response.css()方法获取HTML内容的示例代码:

import scrapy

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

    def parse(self, response):
        # 选择具有相应CSS类的元素
        my_element = response.css('.my-class')

        # 获取元素的HTML内容
        my_html = my_element.get()

        # 打印HTML内容
        print(my_html)

在上面的代码中,我们首先使用response.css()方法选择具有特定CSS类(.my-class)的元素,然后使用get()方法获取它们的HTML内容。最后使用print()方法将HTML内容输出到控制台。

使用response.xpath()方法获取HTML内容

下面是使用response.xpath()方法获取HTML内容的示例代码:

import scrapy

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

    def parse(self, response):
        # 选择具有Xpath路径的元素
        my_element = response.xpath('//div[@class="my-class"]')

        # 获取元素的HTML内容
        my_html = my_element.get()

        # 打印HTML内容
        print(my_html)

在上面的代码中,我们首先使用response.xpath()方法选择具有特定Xpath路径(//div[@class="my-class"])的元素,然后使用get()方法获取它们的HTML内容。最后使用print()方法将HTML内容输出到控制台。

结论

通过Scrapy获取选择器内的HTML内容非常简单,并且可以很容易地将数据保存到数据库中。无论您是在构建个人项目还是商业应用程序,Scrapy都是一个强大的框架,可以大大减少您的工作量。