爬虫随笔(四) scrapy

news/2025/2/23 15:28:37/文章来源:https://www.cnblogs.com/Liyukio/p/18732203

声明

  本账号中的所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁,用于商业用途和非法用途,否则有此产生的一切后果均与作者无关!

scrapy

  在使用scrapy前准备工作,首先在pycharm中运行

pip install scrapy

  scrapy在使用时,和创建的py文件有所不同,正常我们直接创建运行就好,但是创建scrapy需要创建scrapy项目,需要运行以下代码

scrapy startproject 项目名

  运行以后会得到以下文件

  这些我不一一记录了,主要运用的文件是:spiders文件夹中定义的项目名,还有items,middlewares,pipelines,settings

scrapy组成

  在具体讲解各个文件时,我们先来插入一下scrapy的构成,scrapy由五个组件构成:调度器,下载器,引擎,管道,爬虫。这五个组件,前三个我们不能修改,scrapy已经给我们全部构造好了,我们需要调整的是管道和爬虫组件。在具体使用时,这五个组件怎么互相交流呢?通过中间件,也就是项目中的middlewares,通过中间件我们可以对我们的请求进行代理,也可以对我们的相应进行加工。

使用前的操作

  在使用时我们需要先调整settings,我们需要添加setting中的语句如下

LOG_LEVEL = 'ERROR' #设置日志
ROBOTSTXT_OBEY = True #设置是否遵守robots协议,默认遵守ITEM_PIPELINES = {"First.pipelines.FirstPipeline": 300,#开启管道,默认不开启,后面的数字代表管道优先级,越小越快执行
}DOWNLOADER_MIDDLEWARES = {"First.middlewares.FirstDownloaderMiddleware": 543,#开启中间件,默认不开启,后面数字同上
}
USER_AGENT = ""#user_agent需要自行设置

  settings中我们差不多设置到这里,现在我们需要重新设置一下,spider文件

allowed_domains = ["www.baidu.com"] #默认域名,超出域名不做操作的,所以最好是备注掉

具体使用注意事项

  在使用时,我们通常需要解析数据,下载数据。在spider中我们发现,有一个方法叫parse,在其中response我们可以解析我们获得的html,他会自动传的(具体例子不举了),还可以通过设置item传到管道里,由管道进行数据的持久化存储,管道设置也很简单,在items中添加东西即可,我们传到管道的内容必须是items,这是内置的。具体还有什么注意事项,我后续补充

再次声明

  本文未经允许禁止转载,禁止任何修改后二次传播,擅自使用本文的讲解的技术而导致的任何意外,作者均不负责,若有侵权,请立刻联系我删除

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/888401.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微信小程序自动生成二维码

1、下载包 npm i weapp-qrcode 安装完成之后,出现这个文件夹 2. 构建npm打开微信开发者工具,进入对应的小程序项目。点击菜单栏中的 “工具” -> “构建 npm” 。 构建完成后,会在项目中生成一个miniprogram_npm文件夹 3、页面中引用 在js中调用方法 先引用: 显示效果…

QT布局管理器(QVBoxLayout,QHBoxLayout)不同部分比例大小设置方法

QT布局管理器(QVBoxLayout,QHBoxLayout)不同部分比例大小设置方法默认情况如果将多个控件加入到QT的布局管理器中(QVBoxLayout、QHBoxLayout)所有控件占用的宽度/高度是等比例大小的。然后,在实际应用和开发中往往希望在同一个布局管理器中,根据控件实际显示内容的多少或…

哪吒探针V1:全新版安装

哪吒探针可以方便的帮助我们监控服务器性能。 本文为大家带来最新版v1的安装过程。 一、安装控制面板 运行一键安装脚本 curl -L https://gitee.com/naibahq/scripts/raw/main/install.sh -o nezha.sh && chmod +x nezha.sh && sudo CN=true ./nezha.sh这里我们…

分散的离开公司的跨国纠纷的广泛斯大林年的;;;反斯大林可能的司法法国vdnmfjioaspgrjosgmdlfbdfvb

法斯基返回南京了哦;角色的绿柠檬酸公司经理年女郎科技的风格vs的风俗哦管理呢诺夫斯基考虑过赛时T1正解没调出来。打暴力,第二个暴力二分挂了但第一档暴力都是第二档的数据,but我先判的第二档,so人麻了。 不管了反正都要退役了,就先**这样吧。__________________________…

FrameScan:cms漏洞检测框架

免责声明: 工具仅供安全研究与学习之用,若将工具做其他用途,由使用者承担全部法律及连带责任,作者及发布者不承担任何法律及连带责任。信息及工具收集于互联网,真实性及安全性自测!!!项目介绍 FrameScan是一款python3编写的简易的cms漏洞检测利用框架,支持漏洞检测与简…

fork打开VS Code

在 File → Preferences → Custom Commands 中,添加 Respository 命令。 #!/bin/bash# 已知的路径格式(Unix/Linux风格,其中/d表示D盘) unix_path=$PWD# 提取盘符(注意:这里假设盘符总是小写,并且紧跟在根斜杠后面) disk_letter="${unix_path:1:1}" disk_le…

Windows平台调试器原理与编写02.一般断点与反汇编引擎

https://www.bpsend.net/thread-256-1-2.html 一般断点(软件断点) 断点的尊严断的下来 走的过去 下次还来所有合格的断点都应该满足这3个要求 OD下断点实际是把指令的第一个字节改成了CC,当程序执行到CC的时候其实是抛了一个异常(EXCEPTION_BREAKPOINT),这个异常就会进入调试器…

输入搜索、分组展示选项、下拉选取,全局跳转页,el-select 实现 —— 后端数据处理代码,抛砖引玉展思路

详细前端代码写于上一篇:输入搜索、分组展示选项、下拉选取,el-select 实现:即输入关键字检索,返回分组选项,选取跳转到相应内容页 —— VUE项目-全局模糊检索 【效果图】:分组展示选项 =>【提供界面操作体验】 【mybatis】:多数据表抓取数据<select id="fin…

使用@SpringBootApplication注解

https://docs.spring.io/spring-boot/docs/2.0.x/reference/html/using-boot-using-springbootapplication-annotation.html许多Spring Boot开发人员希望他们的应用程序能够使用自动配置(auto-configuration)、组件扫描(component scan),并能够在其“应用程序类(applicat…

跨时钟域-单脉冲信号处理方法

逻辑设计中将所有同步元件(例如触发器和RAM等)使用相同时钟信号的部分称为时钟域。 退出亚稳态所需的时间被称为resolution Time(Tr)。 由于建立时间的违反,寄存器的输出电压可能是代表逻辑高、逻辑低,甚至更糟糕的是介于逻辑高和逻辑低之间的电压。 亚稳态是指触发器无法…

VMWare workstation pro 17 Windows11 中提示不能 支持Intel VT-x 虚拟化的问题终极解决方案

1. 在BIOS中开启虚拟化 2. 在系统功能里面取消hyper-v,虚拟机管理平台,沙盒功能, 虚拟机监控平台四个功能。 3. 在内核隔离里面取消内存隔离。 4. 运行下面的批处理。 5.重启后会有两次提示是否关闭vbs,两次按F3关闭,重启后一切正常。===================================…

PipeCAD Spooler 管道加工设计工具

PipeCAD Spooler是一款专门为管道预制厂商设计的管道深化加工设计和管理的工具。有以下一些功能:+ 直接导入PCF/IDF管道数据进行深化设计,大大提高设计效率; + 精确的材料统计,为材料采购提供准确数据; + 通过深化设计将管线拆分为易于车间加工的管段,提高加工质量,缩短…