笨鸟编程-零基础入门Pyhton教程

 找回密码
 立即注册

调试spiders

发布者: 笨鸟自学网



Scrapy Shell

而 parse 命令对于检查蜘蛛的行为非常有用,除了显示接收到的响应和输出之外,检查回调中发生的情况几乎没有帮助。如何调试情况 parse_details 有时没有收到物品?

幸运的是, shell 在这种情况下,你的面包和黄油(见 从spiders调用shell来检查响应 ):

from scrapy.shell import inspect_response

def parse_details(self, response, item=None):
    if item:
        # populate more `item` fields
        return item
    else:
        inspect_response(response, self)

参见: 从spiders调用shell来检查响应 .

在浏览器中打开

有时,您只想查看某个响应在浏览器中的外观,可以使用 open_in_browser 功能。以下是您将如何使用它的示例:

from scrapy.utils.response import open_in_browser

def parse_details(self, response):
    if "item name" not in response.body:
        open_in_browser(response)

open_in_browser 将打开一个浏览器,此时Scrapy接收到响应,调整 base tag 以便正确显示图像和样式。

登录

日志记录是获取蜘蛛运行信息的另一个有用选项。尽管不太方便,但它的优点是,如果需要,日志在将来的所有运行中都将可用:

def parse_details(self, response, item=None):
    if item:
        # populate more `item` fields
        return item
    else:
        self.logger.warning('No item received for %s', response.url)

有关详细信息,请检查 登录 部分。

12
上一篇:常见问题下一篇:蜘蛛合约

Archiver|手机版|笨鸟自学网 ( 粤ICP备20019910号 )

GMT+8, 2024-12-27 06:03 , Processed in 0.018055 second(s), 17 queries .

© 2001-2020

返回顶部