有时你想检查蜘蛛某个特定点正在处理的响应,只是为了检查你期望的响应是否到达那里。 这可以通过使用该scrapy.shell.inspect_response功能来实现。 这是一个如何从蜘蛛中调用它的示例: import scrapy class MySpider(scrapy.Spider): name = “myspider” start_urls = [ “http://example.com”, “http://example.org”, “http://example.net”, ] def parse(self, response): # We want to inspect one

Scrapy shell只是一个常规的Python控制台(如果有的话,它可以是IPython控制台),它提供了一些额外的快捷功能以方便使用。 可用的快捷方式 shelp() – 使用可用对象和快捷方式列表打印帮助 fetch(url[, redirect=True]) – 从给定的URL获取新响应并相应地更新所有相关对象。您可以选择要求HTTP 3xx重定向,然后不要传递redirect=False fetch(request) – 从给定请求中获取新响应并相应地更新所有相关对象。 view(response) – 在本地Web浏览器中打开给定的

Scrapy shell是一个交互式shell,您可以非常快速地尝试调试您的抓取代码,而无需运行蜘蛛。它用于测试数据提取代码,但您实际上可以使用它来测试任何类型的代码,因为它也是常规的Python shell。 shell用于测试XPath或CSS表达式,看看它们是如何工作的,以及它们从你试图抓取的网页中提取的数据。它允许您在编写蜘蛛时以交互方式测试表达式,而无需运行蜘蛛来测试每个更改。 一旦熟悉了Scrapy shell,您就会发现它是开发和调试蜘蛛的宝贵工具。 配置 如果安装了IPython,Scrapy shell将使用它(而不是标准的Python控制台)。该IPython的控制台功能更

构造选择器 Scrapy选择器是Selector通过传递文本或TextResponse 对象构造的类的实例。它会根据输入类型自动选择最佳解析规则(XML与HTML): >>> from scrapy.selector import Selector >>> from scrapy.http import HtmlResponse   从文本构造: >>> body = ‘<html><body><span>good</span></body></html>’