我正在尝试从我的脚本运行我的蜘蛛。它在命令提示符下运行良好,如果我不使用代理,它在脚本中运行良好(除了我得到403,因为我没有使用代理)。
我已尝试更改文件路径,但没有成功。
在www.example.com中settings.py,我简单地使用
ROTATING_PROXY_LIST_PATH = 'proxylist'
这是我的scapy.cfg,我试着把'scraper'改为scraper.scraper,但是没有用。
[settings]
default = scraper.settings
[deploy]
#url = http://localhost:6800/
project = scraper
这是我的项目结构
- 拉斯克拉珀
- 刮板
- 蜘蛛
*init.py - Spider.py
*init.py - items.py
- middewares.py
- pipelines.py
- settings.py
- 刮板
- scrapy.cfg
- 代理列表
我不认为包括蜘蛛是相关的,但这是我如何调用它(在同一个文件中)
if __name__ == '__main__':
process = CrawlerProcess(get_project_settings())
process.crawl('Acts', artist="eddiem")
process.start()
为什么scrapy在通过get_project_settings()调用设置时找不到我的代理文件?
1条答案
按热度按时间n8ghc7c11#
您的
scrapy.cfg
需要移动到它的父目录。根据记录。
虽然可以修改,但所有Scrapy项目在默认情况下都具有相同的文件结构,类似于:
scrapy.cfg文件所在的目录称为项目根目录。该文件包含定义项目设置的Python模块的名称。下面是一个例子:
这意味着
scrapy.cfg
文件应该至少位于settings.py
文件所在的项目目录/目录之上一个目录。