Scrapy安装,创建Scrapy项目,启动Scrapy爬虫

Scrapy 的安装方式比较简单,下面是基于 Python 环境的安装流程:

1. 安装 Python

首先,你需要安装 Python 3.6 以上版本(推荐使用最新稳定版)。你可以通过官网 Python.org 下载和安装。

2025最详细 Windows 系统安装 Python 教程

2. 安装 Scrapy

Scrapy 推荐使用 pip 来进行安装。可以在命令行中使用以下命令:

pip install scrapy

pip 会自动安装 Scrapy 和它所依赖的所有必要包,包括 Twisted 和 lxml 等库。
如果你在 Windows 上遇到安装 Twisted 时的问题,可以考虑安装 Windows 版本的 Twisted:

pip install twisted

或者,你也可以使用 Anaconda 来创建一个虚拟环境,并在其中安装 Scrapy。这样可以避免与其他项目的依赖冲突。

conda create -n scrapy-env python=3.8
conda activate scrapy-env
conda install -c conda-forge scrapy

3. 验证安装

安装完成后,可以通过以下命令来验证 Scrapy 是否安装成功:

scrapy --version

如果安装成功,应该能看到 Scrapy 的版本信息。
在这里插入图片描述
一旦安装完成,你就可以开始创建一个新的 Scrapy 项目。

4. 创建 Scrapy 项目

我喜欢先创建一个总项目来进行统一管理,如爬虫相关的,crawler_project
在这里插入图片描述
对应的本地文件目录
在这里插入图片描述
在命令行中进入你想要存放项目的文件夹,并运行以下命令:

scrapy startproject 项目名称(不能以数字开头,不能携带汉字)

在这里插入图片描述
这将会创建一个新的 Scrapy 项目目录结构,类似于:

myproject/
    scrapy.cfg
    myproject/
        __init__.py
        items.py				# 定义数据结构的地方,是一个继承自scrapy.Item的类
        middlewares.py			# 中间件,代理
        pipelines.py			# 管道文件,里面只有一个类,用于处理下载数据的后续处理,默认优先级是300,值越小优先级越高(1~1000)
        settings.py				# 配置文件,比如是否遵守robots协议,User-Agent定义等
        spiders/				# 文件夹,存储的是爬虫文件 
            __init__.py
            自定义的爬虫文件		# 由我们自己创建编写的核心功能文件			

在这里插入图片描述

5. 启动爬虫

接下来,你可以进入 spiders 文件夹,创建你的第一个爬虫文件(创建 Scrapy 项目也会输出对应的提示)。
在这里插入图片描述
使用 cd 进入 spiders 文件夹(注意目录使用\进行分隔),使用以下命令来生成一个爬虫:

scrapy genspider example example.com

这将生成一个名为 example 的爬虫,爬取 example.com 网站的数据。
参数解释:

  • example:爬虫的名字,用于运行爬虫的时候,命令参数使用的值,对应爬虫文件中的 name = "example" 参数,注意不要和文件夹重名,否则会创建失败,提示 Cannot create a spider with the same name as your project
  • example.com:要爬取的网站的域名,会根据这个值自动生成爬虫文件中的 allowed_domains = ["example.com"]start_urls = ["https://example.com"]

编辑爬虫文件,定义数据提取规则,然后可以运行爬虫:

scrapy crawl example

爬虫会开始执行,抓取并输出结果。

5.1 示例

以爬取百度为例

scrapy genspider baidu baidu.com

在这里插入图片描述
在这里插入图片描述
输出结束标志

import scrapy


class BaiduSpider(scrapy.Spider):
    # 爬虫的名字     用于运行爬虫的时候,命令参数使用的值
    name = "baidu"
    # 允许访问的域名
    allowed_domains = ["baidu.com"]
    # 起始的 url 地址    指的是第一次要访问的域名
    start_urls = ["https://baidu.com"]

    # 执行了 start_urls 之后执行的方法    方法中的 response 就是返回的那个对象
    def parse(self, response):
        print("爬虫结束")

注释掉robots协议
在这里插入图片描述
执行爬虫,查看是否正常执行

scrapy crawl baidu

在这里插入图片描述

总结

Scrapy 是一个功能强大且高效的 Python 爬虫框架,适合各种规模的网页数据抓取任务。无论是单个网页抓取,还是大规模的网站爬取,Scrapy 都能提供优秀的性能和易于扩展的架构。如果你正在寻找一种可靠的工具来进行数据采集、分析或自动化任务,Scrapy 无疑是一个非常好的选择。

希望这篇博客能帮助你快速上手 Scrapy,开始自己的爬虫之旅!

猜你喜欢

转载自blog.csdn.net/qq_41929714/article/details/145706187
今日推荐