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
随机推荐
- python_85_sys模块
import sys print(sys.version)#当前python版本的详细信息 print(sys.argv)#脚本中运行,读取参数
- HTML_6 (表单应用)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 一步一步教你用IntelliJ IDEA 搭建SSM框架(1)
1.基本概念 SSM框架指:Spring MVC + Spring + MyBatis Spring MVC是一种web层mvc框架,用于替代servlet,处理|响应请求,获取表单参数,表单校验等 ...
- JSONPath - XPath for JSON
http://goessner.net/articles/JsonPath/ [edit] [comment] [remove] |2007-02-21| e1 # JSONPath - XPath ...
- centos Chrony设置服务器集群同步时间
Chrony是一个开源的自由软件,像CentOS 7或基于RHEL 7操作系统,已经是默认服务,默认配置文件在 /etc/chrony.conf 它能保持系统时间与时间服务器(NTP)同步,让时间始终 ...
- python-判断alter是否存在
from selenium import webdriver import time from selenium.webdriver.support.ui import WebDriverWait f ...
- Bootstrap历练实例:标签页内的下拉菜单
<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...
- django logging日志优先级
原创博文 转载请注明出处! 参考官方文档:https://docs.djangoproject.com/en/2.1/topics/logging/ Loggers¶ A logger is the ...
- 【转】MFC编辑框自动换行,垂直滚动条自动下移
1.新建一个编辑框控件(Edit Control),将其多行(Multiline)前面打勾(属性设置为True),Auto HScroll前面的勾去掉(属性设置False),这样就可以实现每一行填满后 ...
- 有关nmap的5个常用的扫描指令
[以下IP可替换成需要被测试的IP网段] 1.ping扫描:扫描192.168.0.0/24网段上有哪些主机是存活的: nmap -sP 192.168.0.0/24 2.端口扫描:扫描192.1 ...