前几天给大家分享了关于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爬虫项目运行和调试的小技巧(下篇)相关推荐

  1. scrapy mysql 词云_利用Scrapy爬取姓名大全作词云分析

    scrapy介绍 Scrapy 是一套基于Twisted.纯python实现的异步爬虫框架,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容以及各种图片,相当的方便- 整体架构和组 ...

  2. scrapy python下载图片_使用Scrapy自带的ImagesPipeline下载图片,并对其进行分类。

    imagespipeline是scrapy自带的类,用来处理图片(爬取时将图片下载到本地)用的. 优势: 将下载图片转换成通用的jpg和rgb格式 避免重复下载 缩略图生成 图片大小过滤 异步下载 . ...

  3. flink运行原理_浅谈Flink分布式运行时和数据流图的并行化

    本文将以WordCount的案例为主线,主要介绍Flink的设计和运行原理.关于Flink WordCount程序可以参考我之前的文章:读取Kafka实时数据流,实现Flink WordCount.阅 ...

  4. python程序写完后点哪个运行快_让你的Python运行更快

    讨厌Python的人总是说,他们不想使用它的原因之一是它很 慢.嗯,特定程序(无论使用何种编程语言)是快还是慢,在很大程度上取决于编写该程序的开发人员以及编写优化而 快速的 程序的技能和能力 . 因此 ...

  5. python用cmd运行失败_解决python在cmd运行时导入包失败,出现错误信息 ModuleNotFoundError: No module named ***...

    1.下图为我的自动化测试工程结构图 我通过运行run.bat批处理文件,调用cmd控制台运行start_run.py来开始我的自动化测试,但是出现如下错误: 大家可能知道我们的工程在IDE(Pycha ...

  6. python程序运行原理_谈谈 Python 程序的运行原理

    因为我的个人网站 restran.net 已经启用,博客园的内容已经不再更新.请访问我的个人网站获取这篇文章的最新内容,谈谈 Python 程序的运行原理 这篇文章准确说是『Python 源码剖析』的 ...

  7. python虚拟机直接加载字节码运行程序_第二章 python如何运行程序

    一.python解释器介绍 Python解释器是一种让程序运行起来的程序.实际上,解释器是代码与机器的计算机硬件之间的软件逻辑层. 当Python包安装在机器上后,它包含了一些最小化的组件:一个解释器 ...

  8. 简述python程序的运行原理_谈谈 Python 程序的运行原理

    执行 python demo.py 后,将会启动 Python 的解释器,然后将 demo.py 编译成一个字节码对象 PyCodeObject. 在 Python 的世界中,一切都是对象,函数也是对 ...

  9. 安装jre运行环境_如何下载安装java运行环境jre

    如果你只需要运行Java程序或Applet,下载并安装它即可.如果你要自行开发Java软件,请下载JDK.在JDK中附带有JRE.注意由于Microsoft对Java的支持不完全,请不. . Java ...

最新文章

  1. 小型星形网络结构设计示例
  2. apt get 安装mysql5.7_ubuntu18.04中安装mysql(5.7)步骤详细介绍
  3. java 协议栈_深入浅出讲解低功耗蓝牙(BLE)协议栈
  4. ITK:将内核与位置上的图像相乘
  5. 【Oracle】查看死锁与解除死锁
  6. IOS开发之JSON文件的读写
  7. linux安装vim plug, vim-plug 的安装和使用
  8. 3-17Pytorch与线性代数运算
  9. linux yum list、search、-y、install、update、remove、grouplist、groupinstall、groupremove
  10. C语言程序设计 授课日历 2010年春季
  11. 什么是软件质量管理的底层逻辑?
  12. 非常全面的UI设计面试技巧,简单实用值得收藏
  13. 简单计算空气质量指数
  14. Fiddler使用之工具栏介绍
  15. 111wqdqwdwedwedwdwededwedwe
  16. 微软 android启动器,微软启动器Mirosoft Launcher
  17. mybatis SQL打印插件
  18. 【Axure视频教程】中继器版手风琴
  19. 专业壮大成翘楚,凤凰涅磐焕新春
  20. js html转pdf格式转换器,HTML到PDF转换器由jspdf,背景色问题

热门文章

  1. android高仿天天动听,Android仿天天动听歌曲自动滚动view
  2. c++11特性move和forward区别
  3. sdk开发包如何使用_SDK如何使能行业?华为昇腾要用软件充分释放硬件性能
  4. 如何更改电脑ip地址租期_局域网通过IP地址如何找到电脑的位置
  5. 解释器android,Android的设计模式-解释器模式
  6. 怎么格式化电脑_U盘格式化后数据能恢复吗?人人都能学会的恢复方法!
  7. QQ邮箱怎么发送文件夹 怎样在QQ邮箱里发送压缩文件夹
  8. 企业微信怎么删除好友 企业微信如何删除成员
  9. Firefox鼠标手势插件在哪安装 火狐浏览器鼠标手势怎么用
  10. 腾讯视频怎么退出青少年守护模式