初识scrapy

Scrapy运行流程

引擎访问spider,询问需要处理的URL链接,spider收到请求,将需要处理的URL告诉引擎,然后将URL给引擎处理。

引擎通知调度器,调度器得到通知将URL排序入队,并加以处理。

引擎通知调度器,调度器将处理好的request返回给引擎

引擎接收到request后告诉下载器,按照setting中配置的顺序下载这个request的请求

下载器收到请求,将下载好后的东西返回给引擎。如果下载失败,下载器会通知引擎,引擎再通知调度器,调度器收到消息后会记录这个下载失败的request。

引擎得到下载好的东西后,通知spider(这里responses默认是交给defparse()函数处理)

7 Spider收到通知后,处理接收的数据

8 Spider处理完数据后返回给引擎两个结果:一个是需要跟进的URL,另一个是获取到的item数据。

引擎将接收到的item数据交给管道处理,将需要跟进的URL交给调度器处理。重复循环直到获取完需要的全部信息。

创建项目

1、创建一个新的Scrapy项目,cd到存储代码目录,运行命令:scrapy startproject tutorial

该命令将会创建tutorial 目录:包含的文件如下:

scrapy.cfg: 项目的配置文件

tutorial/: 该项目的python模块。之后您将在此加入代码。

tutorial/items.py: 项目中的item文件.

tutorial/pipelines.py: 项目中的pipelines文件.

tutorial/settings.py: 项目的设置文件.

tutorial/spiders/: 放置spider代码的目录.

定义Item

Item 是保存爬取到的数据的容器;其使用方法和python字典类似, 并且提供了额外保护机制来避免拼写错误导致的未定义字段错误。

1、 对item进行建模→从需要爬取的网站中获取名字,url,以及网站的描述

2、 在item中定义相应的字段,编辑项目中的items.py文件

import scrapy

class DmozItem(scrapy.Item):

    title = scrapy.Field()

    link = scrapy.Field()

    desc = scrapy.Field()

编写第一个爬虫(Spider)

Spider是用户编写用于从单个网站(或者一些网站)爬取数据的类。

其包含了一个用于下载的初始URL,如何跟进网页中的链接以及如何分析页面中的内容, 提取生成 item 的方法。

创建Spider,必须继承 scrapy.Spider 类, 且定义以下三个属性:

name: 用于区别Spider。 该名字必须是唯一的,不可以为不同的Spider设定相同的名字。

start_urls: 包含了Spider在启动时进行爬取的url列表。 因此,第一个被获取到的页面将是其中之一。后续的URL则从初始的URL获取到的数据中提取。

parse() :是spider的一个方法。 被调用时,每个初始URL完成下载后生成的 Response 对象将会作为唯一的参数传递给该函数。 该方法负责解析返回的数据(responsedata),提取数据(生成item)以及生成需要进一步处理的URL的 Request 对象。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下载完Scrapy框架后,可以按照以下步骤进行安装和配置: 1. 首先,您可以访问Scrapy官方网站(https://docs.scrapy.org/en/latest/index.html)或中文文档(https://www.osgeo.cn/scrapy/intro/tutorial.html)获取最新版本的Scrapy框架的安装包。 2. 在您的Python环境中安装Scrapy包。您可以使用以下命令来安装Scrapy: ``` pip install scrapy ``` 3. 安装完成后,您可以通过运行以下命令来验证Scrapy是否成功安装: ``` scrapy version ``` 4. 接下来,您可以创建一个新的Scrapy项目。使用以下命令在您的工作目录中创建一个新的Scrapy项目: ``` scrapy startproject project_name ``` 5. 进入新创建的项目目录: ``` cd project_name ``` 6. 在项目目录中,您可以定义和配置爬虫。通过以下命令创建一个新的爬虫: ``` scrapy genspider spider_name website_url ``` 7. 在生成的爬虫文件中,您可以定义爬取的网址、数据提取规则和数据处理方式。 8. 最后,您可以使用以下命令启动Scrapy爬虫: ``` scrapy crawl spider_name ``` 通过按照上述步骤进行安装和配置,您可以成功下载完Scrapy框架并开始使用它进行网页抓取任务。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Python爬虫之Scrapy框架系列(1)——初识Scrapy框架【安装+简介+运行流程+组件介绍】](https://blog.csdn.net/qq_44907926/article/details/118487385)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值