第九天 Python爬虫之Scrapy(框架简单使用 )


活动地址:CSDN21天学习挑战赛

活动时间以过
请添加图片描述

@作者 : SYFStrive
@创建时间 : 2022/8/9 7:42
📜: Scrapy框架
🥧: 点击跳转到上一篇续文🦄
🥧: 感谢支持,学习累了可以先看小段由小胖给大家带来的街舞😀
请添加图片描述

目录

  • 简介
  • 📦Scrapy使用前准备
  • Scrapy项目的创建,运行以及分析框架结构📦
  • 创建项目
  • 创建爬虫文件
  • 运行
  • 分析
  • 简单运行框架📦
  • 简单运行框架访问一个网站(以💼为例,以及(三个属性两个方法))📦
  • 三个属性以及两个方法
  • 📰代码演示
  • 小总结
  • 最后
  • 简介

    1. Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。 其最初是为了页面抓取 (更确切来说, 网络抓取 )所设计的, 也可以应用在获取API所返回的数据 (例如 Amazon Associates Web Services ) 或者通用的网络爬虫。
    2. Scrapy 是一个基于 Twisted 实现的异步处理爬虫框架,该框架使用纯 Python 语言编写。Scrapy 框架应用广泛,常用于数据采集、网络监测,以及自动化测试等。
    3. 提示:Twisted 是一个基于事件驱动的网络引擎框架,同样采用 Python 实现。

    📦Scrapy使用前准备

  • 文档如👇
    1. 官网文档:链接
    2. C语言中文文档:链接
  • 安装
    1. 安装语法:python -m pip install Scrapy
    2. 报错:使用pip install -i https://pypi.tuna.tsinghua.edu.cn/simple –trusted-host pypi.tuna.tsinghua.edu.cn 加包名

    Scrapy项目的创建,运行以及分析框架结构📦

    创建项目

  • scrapy startproject 项目名称
  • 注意:项目的名字不允许使用数字开头 也不能包含中文
  • 创建爬虫文件

    1. 首先到项目目录下
    2. 终端运行:scrapy genspider 爬虫名字 网页的域名(如: scrapy genspider baidu www.baidu.com)
    3. 一般情况下不需要添加http协议 因为start_urls的值是根据allowed_domains
    4. 所以添加了http的话 那么start_urls就需要我们手动去修改了
    5. 分析创建的爬虫文件

    运行

    scrapy crawl 爬虫的名字(如 👉 :scrapy crawl baidu)

    分析

  • 项目组成:
    1. spiders
      init.py
      自定义的爬虫文件.py 👉 由我们自己创建,👉 是实现爬虫核心功能的文件
      init.py
      items.py 👉 定义数据结构的地方,是一个继承自scrapy.Item的类
      middlewares.py 👉 中间件 代理
      pipelines.py 👉 管道文件,里面只有一个类,用于处理下载数据的后续处理
      默认是300优先级,值越小优先级越高(1‐1000)
      settings.py 👉 配置文件 比如:是否遵守robots协议,User‐Agent定义等
      2.settings.py (下的ROBOTSTXT_OBEY = True)说明如👇
      注意(裙子协议): 注释掉之后 那么就不遵守robots协议了 他是一个君子协议 一般情况下 我们不用遵守

    简单运行框架📦

    scrapy crawl baidu (运行完有并没有看到hello scrapyShell(因为开启了君子协议) )


    如下:


    如下:

    简单运行框架访问一个网站(以💼为例,以及(三个属性两个方法))📦

    三个属性以及两个方法

    1. response.text 👉 响应的是字符串
    2. response.body 👉 响应的是二进制文件
    3. response.xpath() 👉 xpath方法的返回值类型是selector列表
    4. extract() 👉 提取的是selector对象的是data
    5. extract_first() 👉 提取的是selector列表中的第一个数据

    📰代码演示

    如下:


    获取源码 如下:

    利用xpath插件找到想要的内容 如下:

    获取内容 如下:

    小总结

    创建项目 👉 创建爬虫文件(检测能不能正常爬到:随便打印print()) 👉 同过xpath bas等 👉 获取相关内容

    最后

    本文还未结束(待更),觉得不错的请给我专栏点点订阅,你的支持是我们更新的动力,感谢大家的支持,希望这篇文章能帮到大家

    点击跳转到我的Python专栏

    下篇文章再见ヾ( ̄▽ ̄)ByeBye

    来源:SYFStrive

    物联沃分享整理
    物联沃-IOTWORD物联网 » 第九天 Python爬虫之Scrapy(框架简单使用 )

    发表评论