gpt4 book ai didi

python - Scrapy shell 忽略导出 SCRAPY_SETTINGS_MODULE

转载 作者:太空宇宙 更新时间:2023-11-04 09:55:14 26 4
gpt4 key购买 nike

我已将设置模块 envvar 值设置为 my_module.my_submodule.my_leaf_module。里面是一些常量集,包括 DEFAULT_REQUEST_HEADERS 字典。无论如何,我设置了上面的内容并针对我想要的示例 URL 运行了 scrapy shell,没有指定任何蜘蛛。启动时没有异常或警告,但未使用我提供的设置模块。

我做错了什么?

最佳答案

我不认为设置模块是在 shell 期间加载的。请参阅下面的文档

https://doc.scrapy.org/en/latest/topics/shell.html

它没有提到它。你可以做的是创建一个 DebugSpider 并在其中启动你的 url 并调用调试 shell。所以将下面添加到您的蜘蛛代码中

class DebugSpider(scrapy.Spider):
name = "debug"

def __init__(self, url=None):
if url is None:
raise Exception("Please specify a url using -a url=....")
self.start_urls = [url]

def parse(self, response):
from scrapy.shell import inspect_response
inspect_response(response, self)

然后从终端运行

scrapy crawl debug -a url="http://tarunlalwani.com"

这也会加载您的设置模块并发出请求并为您提供相同的调试 shell

2017-09-12 00:16:27 [scrapy.core.engine] DEBUG: Crawled (200) <GET http://tarunlalwani.com> (referer: None)
[s] Available Scrapy objects:
>>> [s] scrapy scrapy module (contains scrapy.Request, scrapy.Selector, etc)
[s] crawler <scrapy.crawler.Crawler object at 0x10562b748>
[s] item {}
[s] request <GET http://tarunlalwani.com>
[s] response <200 http://tarunlalwani.com>
[s] settings <scrapy.settings.Settings object at 0x106432c50>
[s] Useful shortcuts:
[s] shelp() Shell help (print this help)
[s] view(response) View response in a browser

关于python - Scrapy shell 忽略导出 SCRAPY_SETTINGS_MODULE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46161977/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com