scrapy的调试方法
Parse命令,Scrapy shell,logging
一 Parse命令
检查spider输出的最基本方法是使用Parse命令。这能让你在函数层上检查spider哥哥部分的效果,其十分灵活并且已用。不过不能在代码中测试。
https://docs.scrapy.org/en/latest/topics/commands.html#std:command-parse
二 Scrapy shell
基本使用是配合view 查看scapy拿到的数据。
高端的用法是。通过scrapy.shell.inspect_response 方法来查看spider的某个位置中被处理的response,以确认期望的response是否到达特定位置。
效果就相当于,每一个知道到parse的respons,都会支持shell命令,以供查看。
还是很有用的。
import scrapy from scrapy.shell import inspect_response
START_URL = 'http://www.521609.com/daxuexiaohua/list31{}.html'
class XiaohuaSpider(scrapy.Spider):
name = 'xiaohua' def start_requests(self):
yield scrapy.Request(url=START_URL.format())
def parse(self, response):
inspect_response(response,self)
items = response.css('div.list_center > ul > li')
for item in items:
title = item.css('a.title::text').extract_first()
print(title)
next_ = response.css('div.listpage > ol > li:nth-child(14) > a::text')
if next_.extract_first() == '下一页':
next_url = response.css('div.listpage > ol > li:nth-child(14) > a::attr(href)').extract_first()
# print(next_url)
abs_url = response.urljoin(next_url)
yield scrapy.Request(url=abs_url)
三 logging
scrapy的调试方法的更多相关文章
- Linux环境下段错误的产生原因及调试方法小结(转)
最近在Linux环境下做C语言项目,由于是在一个原有项目基础之上进行二次开发,而且 项目工程庞大复杂,出现了不少问题,其中遇到最多.花费时间最长的问题就是著名的“段错误”(Segmentation F ...
- linux Ubuntu(Segmentation fault)段错误出现原因及调试方法
在linux下编译了一个程序,尝试运行的时候出现: Segmentation fault (core dumped) 初步确认为...完全不知道是什么玩意. 于是找度娘了. ----------- ...
- kernel启动console_init之前console不可用时发生crash的调试方法
http://code.google.com/p/innosoc/wiki/KernelBootCrashDebug 注: 如在i386_start_kernel中加入:early_printk(&q ...
- Linux环境下段错误的产生原因及调试方法小结
转载自http://www.cnblogs.com/panfeng412/archive/2011/11/06/2237857.html 最近在Linux环境下做C语言项目,由于是在一个原有项目基础之 ...
- 【matlab】MATLAB程序调试方法和过程
3.8 MATLAB程序的调试和优化 在MATLAB的程序调试过程中,不仅要求程序能够满足设计者的设计需求,而且还要求程序调试能够优化程序的性能,这样使得程序调试有时比程序设计更为复杂.MATLAB ...
- 二十四、【开源】EFW框架Winform前端开发之项目结构说明和调试方法
回<[开源]EFW框架系列文章索引> EFW框架源代码下载V1.2:http://pan.baidu.com/s/1hcnuA EFW框架实例源代码下载:http://pan ...
- Linux的段错误调试方法
linux段错误的调试方法 相关博文: http://blog.csdn.net/htianlong/article/details/7439030 http://www.cnblogs.com/pa ...
- Linux - Shell脚本调试方法
Shell脚本调试选项 Shell本身提供一些调试方法选项: -n,读一遍脚本中的命令但不执行,用于检查脚本中的语法错误. -v,一边执行脚本,一边将执行过的脚本命令打印到标准输出. -x,提供跟踪执 ...
- intellij 调试方法
intellij 调试方法 转自 http://www.th7.cn/Program/net/201410/296492.shtml
随机推荐
- 【转】树莓派3代3.5寸触摸屏驱动的安装(通过ssh安装)
这是用到的配件的树莓派3代 烧录好系统后,启动的树莓派,我的树莓派已经在一开始通过路由器和局域网,登陆了ssh,设置好了开机就能自动连接到电脑的360wifi,所以无论到哪 里,只要自己的笔记本电脑还 ...
- java中的同步与异步
在多线程的环境中,经常会碰到数据的共享问题,即当多个线程需要访问同一个资源时,它们需要以某种顺序来确保该资源在某--时刻只能被-一个线程使用,否则,程序的运行结果将会是不可预料的,在这种情况下就必须对 ...
- Google「Game Builder」:不懂编程,也能开发 3D 游戏
简评: 之前微软曾推出过「Kodu Game Lab」,它可以让完全没有编程经验的人通过简单的步骤打造属于自己的游戏.无独有偶,Google 最近在 Steam 也推出了类似的程序「Game Buil ...
- STM32F042开发板学习实践
之前有粗略地学习过stm32F103的理论知识,但仅GPIO的配置.时钟配置就让人望而却步.现在手头有Nucleo STM32F042的开发板,而且ST已经推出STM32CubeMx图形化的工具软件, ...
- linux虚拟机配置网络
第一步.网络模式设置为桥接模式 第二步.设置ip和掩码 vim /etc/sysconfig/network-scripts/ifcfg-ens33 ens33为当前机器的网卡名称 在文件尾部添 ...
- 配置淘宝镜像,不使用怪异的cnpm
npm config set registry https://registry.npm.taobao.org --global npm config set disturl https://npm. ...
- mysql 主从数据校验
使用工具pt-table-checksum: /usr/bin/pt-table-checksum --user=root --password='mysqlpass' --host=127.0.0. ...
- 201621123080 《Java程序设计》 第7周学习总结
1. 本周学习总结 1.1 思维导图:Java图形界面总结 2.书面作业 1. GUI中的事件处理 1.1 写出事件处理模型中最重要的几个关键词. 事件 事件源 事件监听器 事件处理方法 1.2 任意 ...
- Unity基础-脚本的基本使用
脚本的基本使用 定义与挂载monobehaviour 1.新建一个场景 2.新建脚本 using System.Collections; using System.Collections.Generi ...
- Robot Framework user guide
http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html