scrapy没有运行结果_关于Scrapy爬虫项目运行和调试的小技巧(下篇)
前几天给大家分享了关于Scrapy爬虫项目运行和调试的小技巧上篇,没来得及上车的小伙伴可以戳超链接看一下。今天小编继续沿着上篇的思路往下延伸,给大家分享更为实用的Scrapy项目调试技巧。
三、设置网站robots.txt规则为False
一般的,我们在运用Scrapy框架抓取数据之前,需要提前到settings.py文件中,将“ROBOTSTXT_OBEY = True”改为ROBOTSTXT_OBEY = False。
在未改动之后settings.py文件中默认爬虫是遵守网站的robots.txt规则的,如下图所示。
如果遵守robots.txt规则的话,那么爬取的结果会自动过滤掉很多我们想要的目标信息,因此有必要将该参数设置为False,如下图所示。
设置好robots.txt规则之后,我们便可以抓到更多网页的信息。
四、利用Scrapy shell进行调试
通常我们要运行Scrapy爬虫程序的时候会在命令行中输入“scrapy crawl crawler_name”,细心的小伙伴应该知道上篇文章中创建的main.py文件也是可以提高调试效率的,不过这两种方法都是需要从头到尾运行Scrapy爬虫项目,每次都需要请求一次URL,效率十分低。运行过Scrapy爬虫项目的小伙伴都知道Scrapy运行的时候相对较慢,有时候因为网速不稳定,根部就无法动弹。针对每次都需要运行Scrapy爬虫的问题,这里介绍Scrapy shell调试方法给大家,可以事半功倍噢。
Scrapy给我们提供了一种shell模式,让我们可以在shell脚本之下获取整个URL对应的网页源码。在命令行中进行运行,其语法命令是“scrapy shell URL”,URL是指你需要抓取的网页网址或者链接,如下图所示。
该命令代表的意思是对该URL进行调试,当命令执行之后,我们就已经获取到了该URL所对应的网页内容,之后我们就可以在该shell下进行调试,再也不用每次都执行Scrapy爬虫程序,发起URL请求了。
通过shell脚本这种方式可以极大的提高调试的效率,具体的调试方法同爬虫主体文件中的表达式语法一致。举个栗子,如下图所示。
将两个Xpath表达式所对应的选择器放到scrapy shell调试的脚本下,我们可以很清楚的看到提取的目标信息,而且省去了每次运行Scrapy爬虫程序的重复步骤,提高了开发效率。这种方式在Scrapy爬虫过程中十分常用,而且也十分的实用,希望小伙伴们都可以掌握,并且积极主动的为自己所用。
关于Scrapy爬虫项目运行和调试的部分小技巧先分享到这里,尤其是Debug调试和Scrapy shell调试极为常用,希望小伙伴们可以多多利用起来,让其为自己的项目服务,可以事半功倍噢~~
scrapy没有运行结果_关于Scrapy爬虫项目运行和调试的小技巧(下篇)相关推荐
- scrapy mysql 词云_利用Scrapy爬取姓名大全作词云分析
scrapy介绍 Scrapy 是一套基于Twisted.纯python实现的异步爬虫框架,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容以及各种图片,相当的方便- 整体架构和组 ...
- scrapy python下载图片_使用Scrapy自带的ImagesPipeline下载图片,并对其进行分类。
imagespipeline是scrapy自带的类,用来处理图片(爬取时将图片下载到本地)用的. 优势: 将下载图片转换成通用的jpg和rgb格式 避免重复下载 缩略图生成 图片大小过滤 异步下载 . ...
- flink运行原理_浅谈Flink分布式运行时和数据流图的并行化
本文将以WordCount的案例为主线,主要介绍Flink的设计和运行原理.关于Flink WordCount程序可以参考我之前的文章:读取Kafka实时数据流,实现Flink WordCount.阅 ...
- python程序写完后点哪个运行快_让你的Python运行更快
讨厌Python的人总是说,他们不想使用它的原因之一是它很 慢.嗯,特定程序(无论使用何种编程语言)是快还是慢,在很大程度上取决于编写该程序的开发人员以及编写优化而 快速的 程序的技能和能力 . 因此 ...
- python用cmd运行失败_解决python在cmd运行时导入包失败,出现错误信息 ModuleNotFoundError: No module named ***...
1.下图为我的自动化测试工程结构图 我通过运行run.bat批处理文件,调用cmd控制台运行start_run.py来开始我的自动化测试,但是出现如下错误: 大家可能知道我们的工程在IDE(Pycha ...
- python程序运行原理_谈谈 Python 程序的运行原理
因为我的个人网站 restran.net 已经启用,博客园的内容已经不再更新.请访问我的个人网站获取这篇文章的最新内容,谈谈 Python 程序的运行原理 这篇文章准确说是『Python 源码剖析』的 ...
- python虚拟机直接加载字节码运行程序_第二章 python如何运行程序
一.python解释器介绍 Python解释器是一种让程序运行起来的程序.实际上,解释器是代码与机器的计算机硬件之间的软件逻辑层. 当Python包安装在机器上后,它包含了一些最小化的组件:一个解释器 ...
- 简述python程序的运行原理_谈谈 Python 程序的运行原理
执行 python demo.py 后,将会启动 Python 的解释器,然后将 demo.py 编译成一个字节码对象 PyCodeObject. 在 Python 的世界中,一切都是对象,函数也是对 ...
- 安装jre运行环境_如何下载安装java运行环境jre
如果你只需要运行Java程序或Applet,下载并安装它即可.如果你要自行开发Java软件,请下载JDK.在JDK中附带有JRE.注意由于Microsoft对Java的支持不完全,请不. . Java ...
最新文章
- 小型星形网络结构设计示例
- apt get 安装mysql5.7_ubuntu18.04中安装mysql(5.7)步骤详细介绍
- java 协议栈_深入浅出讲解低功耗蓝牙(BLE)协议栈
- ITK:将内核与位置上的图像相乘
- 【Oracle】查看死锁与解除死锁
- IOS开发之JSON文件的读写
- linux安装vim plug, vim-plug 的安装和使用
- 3-17Pytorch与线性代数运算
- linux yum list、search、-y、install、update、remove、grouplist、groupinstall、groupremove
- C语言程序设计 授课日历 2010年春季
- 什么是软件质量管理的底层逻辑?
- 非常全面的UI设计面试技巧,简单实用值得收藏
- 简单计算空气质量指数
- Fiddler使用之工具栏介绍
- 111wqdqwdwedwedwdwededwedwe
- 微软 android启动器,微软启动器Mirosoft Launcher
- mybatis SQL打印插件
- 【Axure视频教程】中继器版手风琴
- 专业壮大成翘楚,凤凰涅磐焕新春
- js html转pdf格式转换器,HTML到PDF转换器由jspdf,背景色问题
热门文章
- android高仿天天动听,Android仿天天动听歌曲自动滚动view
- c++11特性move和forward区别
- sdk开发包如何使用_SDK如何使能行业?华为昇腾要用软件充分释放硬件性能
- 如何更改电脑ip地址租期_局域网通过IP地址如何找到电脑的位置
- 解释器android,Android的设计模式-解释器模式
- 怎么格式化电脑_U盘格式化后数据能恢复吗?人人都能学会的恢复方法!
- QQ邮箱怎么发送文件夹 怎样在QQ邮箱里发送压缩文件夹
- 企业微信怎么删除好友 企业微信如何删除成员
- Firefox鼠标手势插件在哪安装 火狐浏览器鼠标手势怎么用
- 腾讯视频怎么退出青少年守护模式