Python 很好用的爬虫框架:Scrapy:

了解Scrapy 爬虫框架的工作流程:

在scrapy中, 具体工作流程是这样的:

首先第一步 当爬虫引擎<engine>启动后, 引擎会到 spider 中获取 start_url<起始url> 然后将其封装为一个request对象, 交给调度器<scheduler>,  这个调度器中存的是一个又一个的待请求的url request对象, 然后调度器会通过引擎将请求对象交给 下载器<downloader>  下载器获取到请求对象后, 发送请求,获取响应, 然后将获取的响应封装成一个响应对象 response 后通过引擎再交给spider 来进行数据解析, 数据的解析结果如果是 Url, 则通过引擎继续交给调度器, 如果是数据, 则会通过引擎,将数据交给管道<pipline>, 这就是scrapy的工作流程,

下载:

pip install scrapy

创建爬虫项目:

在终端中使用scrapy命令来创建一个爬虫项目:

scrapy startproject 项目名字

 当我们使用命令完成创建项目的时候, scrapy会自动给我们创建一个有关 项目名  的文件夹:

第一个 game 只是scrapy 创建的项目文件, 也就是项目根目录。

第二个game 目录则是我们的scrapy项目了,  项目目录下的 spiders 目录就是 有关 spider 爬虫脚本的目录

items: 暂时先不了解

middlewares: 中间件

pipelines: 管道, 所有爬虫获取到的数据最终都会到管道来

settings: 项目配置文件

创建爬虫:

使用scrapy命令创建爬虫, 但在运行命令之前,需要 cd 进入到爬虫项目中

scrapy genspider <spidername><域名>

scrapy genspider myspider baidu.com

然后你会发现在spiders目录下,会多出一个爬虫脚本,点开脚本 :

 你会发现scrapy为我们创建了一个爬虫类, 集成之Spider

name 则是爬虫的名字

allowed_domains 则是允许爬取的域名, 除此以外的域名都会被过滤掉

start_urls 则就是起始URL了

而此爬虫类中, 还提供了一个 parse 方法, 此方法就是用来解析获取的响应结果的,

启动爬虫:

启动爬虫也很简单, 使用命令启动爬虫

scrapy crawl 爬虫名字

你会看到控制台打印很多东西, 不用着急, 这只是scrapy的输出日志而已, 我们可以通过命令行或者在settings中配置一下日志输出级别:

楼主这里是在settings 文件中配置的:

加上这句, 配置日志级别为 warning, 那么控制台就只能打印 warning及以上级别的信息了

相关推荐

  1. python爬虫框架Scrapy

    2024-06-10 14:02:03       62 阅读
  2. Python爬虫---scrapy框架---下载嵌套数据

    2024-06-10 14:02:03       42 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-10 14:02:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-10 14:02:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-06-10 14:02:03       82 阅读
  4. Python语言-面向对象

    2024-06-10 14:02:03       91 阅读

热门阅读

  1. 树的4种遍历

    2024-06-10 14:02:03       31 阅读
  2. 贪心算法跳跃游戏1and2

    2024-06-10 14:02:03       29 阅读
  3. vim常用技巧

    2024-06-10 14:02:03       22 阅读
  4. 软件技术的个人心得和看法

    2024-06-10 14:02:03       30 阅读
  5. “TH1“ 和 “TL1” 的命名含义

    2024-06-10 14:02:03       29 阅读
  6. 详细说说机器学习在医疗领域的应用

    2024-06-10 14:02:03       28 阅读
  7. 用户定制应用顺序

    2024-06-10 14:02:03       32 阅读
  8. 现代密码学-认证、消息认证码

    2024-06-10 14:02:03       33 阅读
  9. Sass详解

    2024-06-10 14:02:03       36 阅读