Scrapy 是一个强大的 Python 库,用于抓取网站数据,并从中提取结构化数据。以下是一些 Scrapy 学习教程,帮助您快速上手。

教程列表

Scrapy 安装与配置

首先,您需要安装 Scrapy。可以使用 pip 命令进行安装:

pip install scrapy

安装完成后,您可以使用以下命令创建一个新的 Scrapy 项目:

scrapy startproject myproject

这将创建一个名为 myproject 的新目录,其中包含 Scrapy 项目的所有文件。

Scrapy 项目结构

一个 Scrapy 项目通常包含以下文件和目录:

  • myproject/: 项目根目录
    • scrapy.cfg: 项目配置文件
    • myproject/: 项目文件目录
      • items.py: 定义数据结构
      • middlewares.py: 自定义中间件
      • settings.py: 项目设置
      • spiders/: 爬虫文件目录
        • spiders/: 爬虫文件

Scrapy 爬虫编写

编写 Scrapy 爬虫非常简单。以下是一个简单的爬虫示例:

import scrapy

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

    def parse(self, response):
        self.log('Visited %s' % response.url)
        for link in response.css('a::attr(href)'):
            yield response.follow(link, self.parse)

在这个示例中,我们创建了一个名为 myspider 的爬虫,它从 http://example.com 开始抓取,并递归地跟随所有链接。

Scrapy 数据提取

Scrapy 提供了强大的数据提取功能。您可以使用 CSS 选择器或 XPath 表达式来提取数据。

以下是一个使用 CSS 选择器提取标题的示例:

def parse(self, response):
    for title in response.css('h1::text'):
        yield {'title': title.get()}

Scrapy 数据存储

Scrapy 支持多种数据存储方式,如 CSV、JSON、SQLite 等。您可以在 settings.py 文件中配置数据存储设置。

以下是一个将数据存储到 CSV 文件的示例:

# settings.py
FEED_FORMAT = 'csv'
FEED_URI = 'output.csv'

现在,当您运行爬虫时,提取的数据将被存储在 output.csv 文件中。

希望这些教程能帮助您开始使用 Scrapy。如果您想了解更多信息,请访问我们的Scrapy 官方文档


Scrapy Logo