python爬虫之scrapy框架基本使用

python爬虫之scrapy框架基本使用

1、环境安装:pip install scrapy
2、创建一个工程:scrapy startproject xxxPro
3、cd xxxPro
4、在spiders子目录中创建一个爬虫文件:scrapy genspider spiderName www.xxx.com
5、执行工程:scrapy crawl spiderName

基本使用实例如下:
1、pycharm终端输入:scrapy startproject firstBlood,创建一个firstBlood文件夹。在这里插入图片描述
firstBlood文件夹下存放文件展示如下,包括firstBlood同名文件夹和scrapy.cfg文件。其中:
scrapy.cfg:当前工程的配置文件。
spider:爬虫文件夹/爬虫目录,存放爬虫源文件。
settings.py:工程相关配置,经常使用。
在这里插入图片描述
2、进入firstBlood文件夹下。
终端输入:cd firstBlood
3、在firstBlood子目录中创建一个first爬虫文件。爬取网站www.xxx.com,之后可修改。
终端输入:scrapy genspider first www.xxx.com
创建的first爬虫文件如下所示:
在这里插入图片描述
first.py相关代码解释和扩展如下所示:

import scrapyclass FirstSpider(scrapy.Spider):#爬虫文件的名称:就是爬虫源文件的一个唯一标识name = "first"#允许的域名:用来限定start_urls列表中哪些url可以进行请求发送,通常情况下不用# all的url会被scrapy自动进行请求的发送start_urls = ["https://www.baidu.com","https://www.sogou.com"]#用作于数据解析:response参数表示的就是请求成功后对应的响应对象,请求了多少网站,response就存放了多少响应对象def parse(self, response):print(response)

4、first.py代码保存后,终端输入:scrapy crawl first运行first.py
输出许多日志信息,其中部分如下所示。其中红线配置导致运行输出后没有输出运行结果。
在这里插入图片描述
可通过打开settings.py配置文件,将ROBOTSTXT_OBEY = True改为ROBOTSTXT_OBEY = False,再次运行first.py,可得到如下示图。
在这里插入图片描述
补充:
1、scrapy crawl first --nolog可不输出日志。但如果程序出错,观察不到错误信息。
在这里插入图片描述
2、在settings.py文件中任意位置添加如下代码块,可只输出结果和错误日志,方便调试代码。

#显示指定类型的日志信息
LOG_LEVEL = "ERROR"

`

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

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

相关文章

同步模式之保护性暂停模式

1. Guarded Suspension:一个线程需要等待另一个线程的执行结果 2. 理解 一个线程需要将结果传递给另一个线程,将这两个线程关联到到同一个 GuardedObject 如果需要源源不断地传递结果,需要使用消息队列(生产者-消费者模型&…

k8s流控平台apiserver详解

一、简单理解认识apiserver 1.主要功能 认证 鉴权 准入 mutating validating admission 限流 2.概念 apiserver保护etcd,缓存机制,有缓存直接返回,没缓存再去查看etcd,apiserver是担任和其他平台同信并认证 3.访问控制概览…

如何借助ai(文心一言)获取tushare的数据

1. 准备工作 确保已安装python ,安装Tushare库 和文心一言的地址(文心一言): 注册Tushare账号并获取Token:在Tushare官方网站注册账号,并获取个人Token。如下 tushare地址:(点击即…

JVM原理(一):JVM运行时数据区域的分析

1. 程序计数器 程序计数器是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。 作用 在Java虛拟机的概念模型里,字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,它是程序控制流的指示…

服务器安装JDK,Maven等常用环境

生产环境部署服务器需要安装一些常用工具,下面我就把常用的jdk,maven,node,git的安装方法和步骤演示 一、安装JDK环境 执行如下命令,安装JDK,所有命令都是 复制,粘贴,回车 yum install -y jav…

CentOS停更无忧,中国操作系统闯入后CentOS时代

国际开源服务器操作系统CentOS停更,引发了中国操作系统火线进化——开源龙蜥操作系统社区涌现出大量的技术创新,相关创新技术迅速转化为商业化产品。2024年6月,浪潮信息与龙蜥社区联合发布服务器操作系统云峦KeyarchOS V5.8 新版本&#xff0…

5款提高工作效率的免费工具推荐

SimpleTex SimpleTex是一款用于创建和编辑LaTeX公式的简单工具。它能够识别图片中的复杂公式并将其转换为可编辑的数据格式。该软件提供了一个直观的界面,用户可以在编辑LaTeX代码的同时实时预览公式的效果,无需额外的编译步骤。此外,SimpleT…

MySQL高级-SQL优化- update 优化(尽量根据主键/索引字段进行数据更新,避免行锁升级为表锁)

文章目录 0、update 优化1、创建表2、默认是行锁3、行锁升级为表锁4、给name字段建立索引 0、update 优化 InnoDB的行锁是针对索引加的锁,不是针对记录加的锁,并且该索引不能失效,否则会从行锁升级为表锁。 1、创建表 create table course(…

SOBEL图像边缘检测器的设计

本项目使用FPGA设计出SOBEL图像边缘检测器,通过分析项目在使用过程中的工作原理和相关软硬件设计进行分析详细介绍SOBEL图像边缘检测器的设计。 资料获取可联系wechat 号:comprehensivable 边缘可定义为图像中灰度发生急剧变化的区域边界,它是图像最基本…

基于Jmeter的分布式压测环境搭建及简单压测实践

写在前面 平时在使用Jmeter做压力测试的过程中,由于单机的并发能力有限,所以常常无法满足压力测试的需求。因此,Jmeter还提供了分布式的解决方案。本文是一次利用Jmeter分布式对业务系统登录接口做的压力测试的实践记录。按照惯例&#xff0…

Web渗透-逻辑漏洞

一、概述 逻辑漏洞是指由于程序逻辑不严或逻辑太复杂,导致一些逻辑分支不能够正常处理或处理错误,一般出现任意密码修改(没有旧密码验证),越权访问,密码找回,交易支付金额等。对常见的漏洞进行过统计&…

动手学深度学习(Pytorch版)代码实践 -计算机视觉-40目标检测和边界框

40目标检测和边界框 import torch from PIL import Image import matplotlib.pylab as plt from d2l import torch as d2lplt.figure(catdog) img Image.open(../limuPytorch/images/catdog.jpg) plt.imshow(img) plt.show()# 边界框 #save def box_corner_to_center(boxes):…

Android 14 独立编译 Setting apk

我们在setting 目录下是用 mm 会报错。 所以应该在 源码主目录 采用 make Settings 进行编译 很多时候如果在apk 目录下 mm 单独编译会出错, 都可以才用这种方式进行编译。

同三维T908转换器 SDI转DVI/HDMI/VGA/色差分量/AV转换器

同三维T908转换器 SDI转DVI/HDMI/VGA/色差分量/AV转换器 1路SDI进,1路DVI(可转HDMI/VGA/色差分量/AV)3.5音频1路SDI出,可以支持音频解嵌,也可把3.5音频加嵌转换输出,输出分辨率可调,支持图像翻转180度 一、产品简介 SDI转万能转…

音视频入门基础:H.264专题(5)——FFmpeg源码中 解析NALU Header的函数分析

音视频入门基础:H.264专题系列文章: 音视频入门基础:H.264专题(1)——H.264官方文档下载 音视频入门基础:H.264专题(2)——使用FFmpeg命令生成H.264裸流文件 音视频入门基础&…

运行时库链接方式实践指南(MT、MD、MTd、MDd)

前言 笔者曾经编译一个库提供给使用者,提供库后发现由于运行时库连接方式不一致,导致使用者无法连接笔者提供的库。另一方面,理解和选择正确的运行时链接方式对于构建高效、可靠的应用程序至关重要。 因此,本文将展开运行时库的基…

运算放大器(运放)输入偏置电流、失调电流

输入偏置电流定义 理想情况下,并无电流进入运算放大器的输入端。而实际操作中,始终存在两个输入偏置电流,即IB和IB-(参见图1)。 I B I_B IB​的值大小不一,在静电计AD549中低至60 fA(每三微秒通过一个电子),而在某些高…

go~缓存设计配合singleFlight

一个缓存设计,配合go的singleFlight 最开始的设计如下 添加分布式缓存 上线后分布式缓存上涨的流量并不等于下游下降的流量,而是下游下降的流量 * 2~3 究其原因,就是采用了go的singleFlight,假定请求缓存时长10ms&a…

仿真CAN报文发送的CRC校验算法(附CAPL代码)

文章目录 前言一、为什么CAN报文有CRC?二、怎么确定是否需要做CRC校验?三、CAPL代码实现CRC算法 前言 关于CRC校验的基本理论、算法实现网上已经有很多介绍文章,本文不再赘述。只是记录在项目测试中真正开发CRC算法并进行测试的一些体会。 …

Geoserver源码解读四 REST服务

文章目录 文章目录 一、概要 二、前置知识点-FreeMarker 三、前置知识点-AbstractHttpMessageConverter 3.1 描述 3.2 应用 四、前置知识点-AbstractDecorator 4.1描述 4.2 应用 五、工作空间查询解读 5.1 模板解读 5.2 请求转换器解读 一、概要 关于geoserver的r…