python爬虫之scrapy框架详解
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)
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我们的更多内容!
相关推荐
-
python爬虫框架Scrapy基本应用学习教程
在正式编写爬虫案例前,先对 scrapy 进行一下系统的学习. scrapy 安装与简单运行 使用命令 pip install scrapy 进行安装,成功之后,还需要随手收藏几个网址,以便于后续学习使用. scrapy 官网:https://scrapy.org scrapy 文档:https://doc.scrapy.org/en/latest/intro/tutorial.html scrapy 更新日志:https://docs.scrapy.org/en/latest/news.htm
-
Python爬虫进阶Scrapy框架精文讲解
目录 一.前情提要 为什么要使用Scrapy 框架? 二.Scrapy框架的概念 三.Scrapy安装 四.Scrapy实战运用 这一串代码干了什么? 五.Scrapy的css选择器教学 按标签名选择 按 class 选择 按 id 选择 按层级关系选择 取元素中的文本 取元素的属性 一.前情提要 为什么要使用Scrapy 框架? 前两篇深造篇介绍了多线程这个概念和实战 多线程网页爬取 多线程爬取网页项目实战 经过之前的学习,我们基本掌握了分析页面.分析动态请求.抓取内容,也学会使用多线程来并发
-
python爬虫框架scrapy代理中间件掌握学习教程
目录 代理的使用场景 使用 HttpProxyMiddleware 中间件 代理的使用场景 编写爬虫代码的程序员,永远绕不开就是使用代理,在编码过程中,你会碰到如下情形: 网络不好,需要代理: 目标站点国内访问不了,需要代理: 网站封杀了你的 IP,需要代理. 使用 HttpProxyMiddleware 中间件 本次的测试站点依旧使用 http://httpbin.org/,通过访问 http://httpbin.org/ip 可以获取当前请求的 IP 地址. HttpProxyMiddlew
-
Python 详解通过Scrapy框架实现爬取CSDN全站热榜标题热词流程
目录 前言 环境部署 实现过程 创建项目 定义Item实体 关键词提取工具 爬虫构造 中间件代码构造 制作自定义pipeline settings配置 执行主程序 执行结果 总结 前言 接着我的上一篇:Python 详解爬取并统计CSDN全站热榜标题关键词词频流程 我换成Scrapy架构也实现了一遍.获取页面源码底层原理是一样的,Scrapy架构更系统一些.下面我会把需要注意的问题,也说明一下. 提供一下GitHub仓库地址:github本项目地址 环境部署 scrapy安装 pip insta
-
python实战之Scrapy框架爬虫爬取微博热搜
前言:大概一年前写的,前段时间跑了下,发现还能用,就分享出来了供大家学习,代码的很多细节不太记得了,也尽力做了优化. 因为毕竟是微博,反爬技术手段还是很周全的,怎么绕过反爬的话要在这说都可以单独写几篇文章了(包括网页动态加载,ajax动态请求,token密钥等等,特别是二级评论,藏得很深,记得当时想了很久才成功拿到),直接上代码. 主要实现的功能: 0.理所应当的,绕过了各种反爬. 1.爬取全部的热搜主要内容. 2.爬取每条热搜的相关微博. 3.爬取每条相关微博的评论,评论用户的各种详细信息.
-
Python 详解通过Scrapy框架实现爬取百度新冠疫情数据流程
目录 前言 环境部署 插件推荐 爬虫目标 项目创建 webdriver部署 项目代码 Item定义 中间件定义 定义爬虫 pipeline输出结果文本 配置文件改动 验证结果 总结 前言 闲来无聊,写了一个爬虫程序获取百度疫情数据.申明一下,研究而已.而且页面应该会进程做反爬处理,可能需要调整对应xpath. Github仓库地址:代码仓库 本文主要使用的是scrapy框架. 环境部署 主要简单推荐一下 插件推荐 这里先推荐一个Google Chrome的扩展插件xpath helper,可以验
-
python爬虫之scrapy框架详解
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.如果遇到因p
-
python爬虫使用cookie登录详解
前言: 什么是cookie? Cookie,指某些网站为了辨别用户身份.进行session跟踪而储存在用户本地终端上的数据(通常经过加密). 比如说有些网站需要登录后才能访问某个页面,在登录之前,你想抓取某个页面内容是不允许的.那么我们可以利用Urllib库保存我们登录的Cookie,然后再抓取其他页面,这样就达到了我们的目的. 一.Urllib库简介 Urllib是python内置的HTTP请求库,官方地址:https://docs.python.org/3/library/urllib.ht
-
Python爬虫实例——scrapy框架爬取拉勾网招聘信息
本文实例为爬取拉勾网上的python相关的职位信息, 这些信息在职位详情页上, 如职位名, 薪资, 公司名等等. 分析思路 分析查询结果页 在拉勾网搜索框中搜索'python'关键字, 在浏览器地址栏可以看到搜索结果页的url为: 'https://www.lagou.com/jobs/list_python?labelWords=&fromSearch=true&suginput=', 尝试将?后的参数删除, 发现访问结果相同. 打开Chrome网页调试工具(F12), 分析每条搜索结果
-
python爬虫线程池案例详解(梨视频短视频爬取)
python爬虫-梨视频短视频爬取(线程池) 示例代码 import requests from lxml import etree import random from multiprocessing.dummy import Pool # 多进程要传的方法,多进程pool.map()传的第二个参数是一个迭代器对象 # 而传的get_video方法也要有一个迭代器参数 def get_video(dic): headers = { 'User-Agent':'Mozilla/5.0 (Wind
-
Python中的flask框架详解
Flask是一个Python编写的Web 微框架,让我们可以使用Python语言快速实现一个网站或Web服务.本文参考自Flask官方文档,大部分代码引用自官方文档. 安装flask 首先我们来安装Flask.最简单的办法就是使用pip. pip install flask 然后打开一个Python文件,输入下面的内容并运行该文件.然后访问localhost:5000,我们应当可以看到浏览器上输出了hello world. from flask import Flask app = Flask(
-
Python爬虫之urllib库详解
目录 一.说明: 二.urllib四个模块组成: 三.urllib.request 1.urlopen函数 2.response 响应类型 3.Request对象 4.高级请求方式 四.urllib.error 五.URL解析urllib.parse 六.urllib.robotparser 总结 一.说明: urllib库是python内置的一个http请求库,requests库就是基于该库开发出来的,虽然requests库使用更方便,但作为最最基本的请求库,了解一下原理和用法还是很有必要的.
-
Python Unittest自动化单元测试框架详解
本文实例为大家分享了Python Unittest自动化单元测试框架的具体代码,供大家参考,具体内容如下 1.python 测试框架(本文只涉及 PyUnit) 参考地址 2.环境准备 首先确定已经安装有Python,之后通过安装PyUnit,Python版本比较新的已经集成有PyUnit(PyUnit 提供了一个图形测试界面UnittestGUI.py) 参考:查看地址 3.代码实例 使用的IDE为 PyCharm,DEMO结构如图 1.简单地一个实例 # Test002_Fail.py #
-
python 爬虫请求模块requests详解
requests 相比urllib,第三方库requests更加简单人性化,是爬虫工作中常用的库 requests安装 初级爬虫的开始主要是使用requests模块 安装requests模块: Windows系统: cmd中: pip install requests mac系统中: 终端中: pip3 install requests requests库的基本使用 import requests url = 'https://www.csdn.net/' reponse = requests.
-
Python爬虫,获取,解析,存储详解
目录 1.获取数据 2.解析数据 3.数据保存为CSV格式和存入数据库 总结 1.获取数据 import requests def drg(url): try: head ={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/\ 537.36 (KHTML, like Gecko) Chrome/\ 91.0.4472.164 Safari/537.36'} r = requests.get(url,head
随机推荐
- Angular.js与Bootstrap相结合实现表格分页代码
- asp.net中页面显示当前系统时间附图
- javascript中json对象json数组json字符串互转及取值方法
- MSSQL经典语句
- SQL语句练习实例之三——平均销售等待时间
- 启动photoshop cs2后总跳出一个更新提示的解决方法
- centos系统升级python 2.7.3
- Java统计输入字符的英文字母、空格、数字和其它
- iOS QQ第三方登录实现
- BOM之navigator对象和用户代理检测
- C语言位运算和sizeof运算符详解
- 解析php通过cookies获取远程网页的指定代码
- Laravel 5.4向IoC容器中添加自定义类的方法示例
- 简单掌握Windows中C#启动外部程序进程的方法
- jQuery Selectors(选择器)的使用(一、基本篇)
- 加随机数引入脚本不让浏览器读取缓存
- JavaScript 中的日期和时间及表示标准介绍
- 如何辨别二手返修板卡
- windows下java环境变量的设置方法
- Python2.x和3.x下maketrans与translate函数使用上的不同