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


猜你喜欢
- 最近因为要使用Python的缘故,安装了python IDE+pycharm,如此安装的原因是因为Pycharn 并不像anaconda一样
- 有时我们会碰到类似下面这样的 unicode 字符串:u'\xe4\xbd\xa0\xe5\xa5\xbd'这明显不是一个正
- 问题描述 windows错误安装方法:pip3 install numpy这种情况下虽然安装成功,但是在import numpy时会出现如下
- 一、前言最近总是和excel打交道,由于数据量较大,人工来修改某些数据可能会有点浪费时间,这时候就使用到了Python数据处理的神器—–Pa
- 如下所示:import requests url='http://www.baidu.com'#下面使用requests.r
- 线性逻辑回归本文用代码实现怎么利用sklearn来进行线性逻辑回归的计算,下面先来看看用到的数据。这是有两行特征的数据,然后第三行是数据的标
- 本文讲解了一个使用XML技术上传文件的例子,使用该方法没有传统方法中的种种限制。 这个例子讲述了如何使用MSXML3.0和ADO Strea
- 我就废话不多说了,直接上代码吧!#Copyright (c)2017, 东北大学软件学院学生# All rightsreserved#文件名
- hashlibhashlib主要提供字符加密功能,将md5和sha模块整合到了一起,支持md5,sha1, sha224, sha256,
- 概要本文分步介绍了如何在运行 SQL Server 的计算机之间移动 Microsoft SQL Server 用户数据库和大多数常见的 S
- 当Django的内置权限无法满足需求的时候就自己扩展吧~背景介绍overmind项目使用了Django内置的权限系统,Django内置权限系
- 前言点击视频讲解更加详细this.$route:当前激活的路由的信息对象。每个对象都是局部的,可以获取当前路由的 path, na
- 今天早上起来写爬虫,基本框架已经搭好,添加多线程爬取功能时,发现出错:比如在下载文件的url列表中加入200个url,开启50个线程。我的爬
- 引言事情是这样的,直接开讲面试官:npm run xxx的时候,发生了什么?讲的越详细越好。我(心想,简单啊): 首先,DNS 解析,将域名
- GetRows 方法 将 Recordset 对象的多个记录复制到数组中。 语法 代码如下: array = recordset.GetR
- 列表转化为字符串如下所示:>>> list1=['ak','uk',4]>>&
- 原来是在系统上出了问题.是2003的IIS出现了问题,因为是2003的系统,它对ASP的上传文件做出了200K的限制,解决问题方法如下 :
- 前言VScode是一个相当优秀的IDE,具备开源、跨平台、模块化、插件丰富、启动时间快、颜值高、可高度定制等等优秀的特质,不愧是微软爸爸的私
- 本文实例讲述了Python基于Tkinter实现的记事本。分享给大家供大家参考。具体如下:from Tkinter import *root
- Function Moneynm(n,m) &