确定scrapy根目录

时间:2013-01-15 15:00:00

标签: python screen-scraping scrapy

我希望能够读取相对于scrapy根目录的文件,如中所述 the documentation

有没有办法从蜘蛛内部确定这条路径?

2 个答案:

答案 0 :(得分:7)

我不知道scrapy是否知道它在文件系统中的位置,但在settings.py我添加

PROJECT_ROOT = os.path.abspath(os.path.dirname(__file__))

然后在蜘蛛中你可以说

from yourscrapyprojecthere import settings

settings.PROJECT_ROOT

这里我假设我的项目根目录是settings.py文件所在的位置。如果你想获得scrapy.cfg所在的目录,你必须上一个目录

答案 1 :(得分:4)

非常古老的问题,但对于那些经常寻找答案的人来说,scrapy有一种内置的方法来查找项目根目录:

from scrapy.utils.conf import closest_scrapy_cfg

proj_root = closest_scrapy_cfg()

将返回包含scrapy.cfg文件的文件夹的绝对路径

修改: 将返回项目的scrapy.cfg文件的绝对路径