python爬虫之scrapy框架详解
作者:可小v. 发布时间:2023-08-23 13:16:52
1.在pycharm下安装scrapy函数库
2.将安装好scrapy函数库下的路径配置到系统path的环境变量中
3.打开cmd终端输入:scrapy.exe检查是否安装成功
4.创建一个项目:scrapy startproject 项目名字
5.cd进入该目录下,创建一个spider:scrapy genspider 项目名字 网址
6.编辑settings.py文件中的USER_AGENT选项为正常的浏览器头部
7.执行这个spider:scrapy crawl 项目名字
8.如果遇到因pip版本太低导致安装不了scarpy函数库,可以先在cmd窗口输入py -m pip install --upgrade pip升级命令(前提是你的python环境下得有pip,可通过输入pip命令查看是否已安装,如未安装得去官网下载并解压至相应路径)
代码示例命令截图:
项目文件截图:
settings.py
文件截图:(需要修改爬取网站的USER_AGENT)
scrapy运行工作流程图:
Spiders
(爬虫):它负责处理所有Responses
,从中分析提取数据,获取Item字段需要的数据,并将需要跟进的URL提交给引擎,再次进入Scheduler(调度器)
Engine
(引擎):负责Spider
、ItemPipeline
、Downloader
、Scheduler
中间的通讯,信号、数据传递等。
Scheduler
(调度器):它负责接受引擎发送过来的Request请求,并按照一定的方式进行整理排列,入队,当引擎需要时,交还给引擎。
Downloader
(下载器):负责下载Scrapy Engine(引擎)发送的所有Requests请求,并将其获取到的Responses交还给Scrapy Engine(引擎),由引擎交给Spider来处理
ItemPipeline
(管道):它负责处理Spider中获取到的Item,并进行进行后期处理(详细分析、过滤、存储等)的地方.
Downloader Middlewares
(下载中间件):你可以当作是一个可以自定义扩展下载功能的组件。
Spider Middlewares
(Spider
中间件):你可以理解为是一个可以自定扩展和操作引擎和Spider中间
通信的功能组件(比如进入Spider的Responses;和从Spider出去的Requests)
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!
来源:https://blog.csdn.net/qq_62037643/article/details/121502999
猜你喜欢
- 一、背景1.项目描述你拥有一个超市(Supermarket Mall)。通过会员卡,你用有一些关于你的客户的基本数据,如客户ID,年龄,性别
- 最近在做一个程序正好需要用到此方面,在网上找到过相应的程序,但用起来都非常恶,于是乎只好自己实现一个了。 首先实现两个函数用来操作光标:
- oracle数据库的快照是一个表,它包含有对一个本地或远程数据库上一个或多个表或视图的查询的结果。正因为快照是一个主表的查询子集,使用快照可
- 项目:基于Pymysql的专家随机抽取系统引入库函数:>>> import treelib>>> fro
- 1.打开 database/migrations/2014_10_12_000000_create_users_table.php 这个 m
- 导言作为web开发人员,我们的生活围绕着数据操作。我们建立数据库来存储数据,写编码来访问和修改数据,设计网页来采集和汇总数据。本文是研究在A
- 由于Django没有象rails一样指定项目的目录结构规范,很多人都对django项目的目录结构要如何组织而感到困惑。为此我又新创建了一个开
- asp按关键字查询XML的问题 '-------------------------------------------------
- 原理1.使用python中的mtplotlib库。2.立体爱心面公式点画法(实心)代码import matplotlib.pyplot as
- 1.设置phpMyAdmin Language:Chinese simplified (zh-utf-8)MySQL 字符集:UTF-8 U
- 本文实例讲述了Python单链表的简单实现方法,分享给大家供大家参考。具体方法如下:通常来说,要定义一个单链表,首先定义链表元素:Eleme
- 前言开发环境:Centos 7 + Python 3.5.1 + Qt Creator(只是使用Qt Creator编译而已,并没有使用QT
- 全文索引在 MySQL 中是一个 FULLTEXT 类型索引。FULLTEXT 索引用于 MyISAM 表,可以在 CREATE TABLE
- 其中使用到一个分页类CPaging 代码如下:Class CPaging Public RS
- 前言matplotlib是基于Python语言的开源项目,旨在为Python提供一个数据绘图包。在使用Python matplotlib库绘
- remove 删除单个元素,删除首个符合条件的元素,按值删除,返回值为空List_remove = [1, 2, 2, 2, 3, 4]pr
- ConfigParser模块在python中用来读取配置文件,配置文件的格式跟windows下的ini配置文件相似,可以包含一个或多个节(s
- 我们怎样才能了解用户需求呢?大家都知道可用性测试、调查问卷之类与用户进行沟通的途径,这些方法各有各的利弊,如果逐一分析的话,恐怕至少要分成三
- 前言:1、上几次讨论右键禁止等问题的时候,有网友问那里有键值表KeyCode,我今天写了一个javascript,以飨各位有需要者。2、适用
- 一、Views文件夹 -> Shared文件夹下的 _Layout.cshtml 母版页@RenderBody当创建基于_Layout