当前位置: 首页 > news >正文

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

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

    • 1. 安装 Python
    • 2. 安装 Scrapy
    • 3. 验证安装
    • 4. 创建 Scrapy 项目
    • 5. 启动爬虫
      • 5.1 示例
  • 总结

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,开始自己的爬虫之旅!

相关文章:

  • 【Vue】集成Antlr4
  • k8s-对接NFS存储
  • java:用Guava的TypeToken优雅处理通配符类型(WildcardType): ? extends Number
  • JSON类型理解(前后端交互/内存对数据操作)
  • 【论文技巧】Mermaid VSCode插件制作流程图保存方法
  • POI优化Excel录入
  • LangFlow和LangChain有什么区别
  • 大数据SQL调优专题——Flink执行原理
  • Web3 通识
  • 解锁外观模式:Java 编程中的优雅架构之道
  • TortoiseSVN\bin下的没有svn.exe的解决问题
  • Linux的基础指令和环境部署,项目部署实战(下)
  • pyinstaller打包报错:INTEL MKL ERROR: 找不到指定的模块。 mkl_intel_thread.dll.
  • linux 安装启动zookeeper全过程及遇到的坑
  • C++ 模拟真人鼠标轨迹算法 - 防止游戏检测
  • 启元世界(Inspir.ai)技术浅析(七):AI Beings 平台
  • Nginx下proxy_redirect的三种配置方式
  • 【系列教程】Python第四课:条件判断 | 让程序学会思考的秘密
  • UE求职Demo开发日志#33、34 优化#2 删没用的场景和优化UI
  • 浅谈模组-相机鬼像
  • 原油价格战一触即发?沙特不想再忍,领衔多个产油国加速增产
  • 马上评|提供情绪价值,也是文旅经济的软实力
  • 结束北京队与总决赛十年之痒的,为何会是一度被群嘲的许利民
  • 孙一凡的东欧狂想音乐会:一场穿越东欧的听觉绮梦
  • 安徽两位新任地级市政府党组书记亮相
  • 苹果手机为何无法在美制造?全球供应链难迁移