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.mzph.cn/pingmian/37101.shtml

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

相关文章

3DEXPERIENCE平台正在推动仿真技术的创新,旨在创造仿真设计的新境界

随着企业数字化转型的不断推进,3DEXPERIENCE 平台正以其前瞻性的技术和服务重塑仿真设计领域的新高度,助力企业实现仿真技术的再次飞跃。该平台不仅整合了先进的仿真工具与设计流程,还促进了跨部门的协作,降低分析仿真对硬件的要求…

远程桌面无法复制粘贴文件到本地怎么办?

远程桌面不能复制粘贴问题 Windows远程桌面为我们提供了随时随地访问文件和数据的便捷途径,大大提升了工作和生活的效率。然而,在使用过程中,我们也可能遇到一些问题。例如,在通过远程桌面传输文件时,常常会出现无法复…

突破SaaS产品运营困境:多渠道运营如何集中管理?

随着数字化时代的到来,SaaS(软件即服务)产品已成为企业日常运营不可或缺的工具。然而,在竞争激烈的市场环境下,SaaS产品运营越来越重视多渠道、多平台布局,以更广泛地触及潜在用户,然而&#xf…

Android Native 客户端属性配置系统使用说明

Android Native 客户端属性配置系统使用说明 背景和问题现代 android 开发基本都基于 gradle 属性设置来进行定制化编译,随着项目的迭代,工程结构越发复杂,配置属性越来越多,越来越多的配置使得上手难度越来越大。 解决方案设计一般而言,在 android 开发中,Gradle 属性系…

新国都:昙花一现or未来可期?

从波动起伏到强势爆发,这份业绩能否持续? 今天我们抽取一名铁杆粉丝想要咨询的公司来说一说——新国都。 一句话总结这家以第三方支付为主营业务的公司业绩:盈利能力突然爆发,23年净利润暴增近16倍,24年Q1净利润大增6…

mysql解压版本安装5.7

1. 官网下载好解压版本 我这边5.7版本 https://dev.mysql.com/downloads/file/?id523570 mysql官网 创建 my.ini文件 内容如下 [client] #客户端设置,即客户端默认的连接参数# socket /data/mysqldata/3306/mysql.sock #用于本地连接的socket套接字 # 默…

ASP.NET MVC-简单例子-配置日志文件-log4net

环境: win10,SQL Server 2008 R2 安装 使用NuGet 安装时发现报错并无法安装: 现有 packages.config 文件中检测到一个或多个未解析包依赖项约束。必须解析所有依赖项约束以添加或更新包。如果正在更新这些包,则可忽略此消息&am…

Linux命令 wc(word count)-l(lines)用于统计文件中的行数。

文章目录 1、wc -l2、实战3、wc --help 1、wc -l 在命令 wc -l 中,-l 的英文全称是 lines。这个选项用于指定 wc(word count,单词计数)命令来统计文件的行数。 例如,当你运行 wc -l load_user_100w_sort.sql 时&…

操作系统之《PV操作》【知识点+详细解题过程】

1、并发进程 : 并发的实质是一个处理器在几个进程之间的多路复用,并发是对有限的物理资源强制行使多用户共享,消除计算机部件之间的互等现象,以提高系统资源利用率。 (1)并发进程——互斥性: 进…

【pytorch10】统计属性

常见统计属性 norm(范数)mean,sumprodmax,min,argmin,argmaxkthvalue,topk kthvalue求第几个的位置和第几个的值 topk求top几的这样的一个数值 norm范数 这里的norm表达的是范数的意思,norma…

GRS认证流程是什么?

GRS认证的认证流程主要包括以下几个步骤: 1. 提交申请 首先,企业需要向GRS认证机构提交认证申请,并提供相关的企业信息和产品信息。这通常包括企业的基本信息、生产工厂信息、产品范围、生产流程等。 2. 合同评审 认证机构会对企业提交的…

GEOS学习笔记(一)

下载编译GEOS 从Download and Build | GEOS (libgeos.org)下载geos-3.10.6.tar.bz2 使用cmake-3.14.0版本配置VS2015编译 按默认配置生成VS工程文件 编译后生成geos.dll,geos_c.dll 后面学习使用C接口进行编程

基于MATLAB对线阵天线进行道尔夫—切比雪夫加权

相控阵天线——基于MATLAB对线阵进行道尔夫—切比雪夫加权 目录 前言 一、阵列天线的综合 二、道尔夫—切比雪夫综合 三、单元间距的改变对切比雪夫阵列方向图的影响 四、单元数的改变对切比雪夫阵列激励分布的影响 五、副瓣电平SLL对切比雪夫阵列激励幅度的影响 六、副…

Logo开发示例

卡巴斯基的GReAT团队要求我们为他们版本的Ghidra(一种逆向工程软件)开发一个标志。任务是将开源版本中使用的九头蛇图像改编成印度神话中的三头蛇。我们为标志提出了各种选择,以绿色背景上风格化的红蛇为特色。选择的结果非常符合品牌&#x…

使用nvm命令进行node和npm版本下载以及切换

下载以及安装nvm方式 https://blog.csdn.net/ppz8823/article/details/130862191 1.查看nvm版本 nvm -v2.查看node 和 npm版本 node -v npm -v3.使用nvm查看已下载的node版本 nvm ls4.使用nvm 查看可使用的在线node版本 nvm list available4.下载想要使用的node版本&#x…

如何知道docker谁占用的显卡的显存?

文章目录 python环境安装nvidia-htop查看pid加一个追踪总结一下【找到容器创建时间】使用说明示例 再总结一下【用PID找到容器创建时间,从而找到谁创建的】使用说明示例 python环境安装nvidia-htop nvidia-htop是一个看详细的工具。 pip3 install nvidia-htop查看…

JAVA编程题期末题库【中】

8.计算邮资 程序代码: public static void main(String[] args) {// 计算邮资//if多分支语句//创建对象java.util.Scanner inputnew java.util.Scanner(System.in); //提示输入用户,输入邮件的重量System.out.println("邮件的重量:");int wei…

学习笔记——动态路由——OSPF(OSPF协议的工作原理)

八、OSPF协议的工作原理 1、原理概要 (1)相邻路由器之间周期性发送HELLO报文,以便建立和维护邻居关系 (2)建立邻居关系后,给邻居路由器发送数据库描述报文(DBD),也就是将自己链路状态数据库中的所有链路状态项目的摘要信息发送给邻居路由器…

【Python自动化测试】如何才能让用例自动运行完之后,生成一张直观可看易懂的测试报告呢?

小编使用的是unittest的一个扩展HTMLTestRunner 环境准备 使用之前,我们需要下载HTMLTestRunner.py文件 点击HTMLTestRunner后进入的是一个写满代码的网页,小编推荐操作:右键 --> 另存为,文件名称千万不要改 python3使用上述…

如何断点调试opencv源码

分几个步骤: 1、下载opencv-4.10.0-windows.exe https://opencv.org/releases/ 2、想要调试opencv的源码,只需要将这两个文件拷贝到我们自己项目的可执行文件的同级目录内即可。 完成拷贝后,直接在vs工程中打断点F11进行单步调试&#xff…