Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python scrapy如何从scrapy项目内部获取项目名称_Python_Python 2.7_Scrapy - Fatal编程技术网

Python scrapy如何从scrapy项目内部获取项目名称

Python scrapy如何从scrapy项目内部获取项目名称,python,python-2.7,scrapy,Python,Python 2.7,Scrapy,对于一些导入问题,我想知道是否有任何变量可以从scrapy项目内部调用以获取项目名称,因为我一直在像这样进行导入 projectname.something.. 这些导入是动态的,在运行期间,我选择要导入的模块,因此如果有办法获取项目名称,这将使一切变得更容易。我仍然不确定您为什么需要它,但其中将包含您的项目名称: 此残废项目实施的bot的名称(也称为 项目名称)。这将用于通过构造用户代理 默认值,也用于日志记录 创建时,它会自动填充您的项目名称 使用startproject命令创建项目 给你

对于一些导入问题,我想知道是否有任何变量可以从scrapy项目内部调用以获取项目名称,因为我一直在像这样进行导入

projectname.something..

这些导入是动态的,在运行期间,我选择要导入的模块,因此如果有办法获取项目名称,这将使一切变得更容易。我仍然不确定您为什么需要它,但其中将包含您的项目名称:

此残废项目实施的bot的名称(也称为 项目名称)。这将用于通过构造用户代理 默认值,也用于日志记录

创建时,它会自动填充您的项目名称 使用startproject命令创建项目


给你:

Scrapy提供了一种方便的方式来访问项目设置文件中指定的属性

如果您在一个Scrapy项目中,则可以使用其他一些辅助工具在项目中导入这些组件。您可以自动导入爬行器,并将其名称传递给CrawlerProcess,然后使用get_project_settings获取带有项目设置的设置实例

请记住使用.get()方法,因为属性无法直接访问

有关完整的详细信息,请参阅

如有疑问,请发表评论。用Scrapy 1.5.1测试

from scrapy.conf import settings

print(settings.BOT_NAME)
from scrapy.utils.project import get_project_settings
settings = get_project_settings()

BOT_NAME = settings.get('BOT_NAME')