【发布时间】:2015-10-10 05:53:32
【问题描述】:
当用户提出请求时,我正在尝试从 django 项目中运行 scrapy 蜘蛛,因此我目前正在测试来自 scrapy docs 的代码以从脚本中运行蜘蛛。为了测试如何将蜘蛛导入到 django 项目中,我在 django 项目中添加了一个文件,该文件位于我放置 scrapy 蜘蛛的同一目录中(即 url、设置和 wsgi 文件所在的位置)。当我尝试从蜘蛛文件导入函数以运行爬虫进程时,我收到导入错误。这是我使用的语句:
from trydjango18.ticket_city_scraper.ticket_city_scraper.ticket_city_scraper.spiders.tc_spiders import spiderCrawl
这可能看起来很模糊,所以我在下面提供了文件路径的屏幕截图。导入 spider.py 文件的正确方法是什么?
scrapy 蜘蛛的文件路径
包含测试文件的文件路径
更新 我能够让蜘蛛从脚本中运行;但是,我现在从 items 模块的蜘蛛文件中收到另一个导入错误。我认为这很可能是因为只有 spiders.py 的路径被添加到脚本中,而不是其他必要的模块。这些是我使用的语句(以及脚本中的其余代码):
import imp
tc_spider = imp.load_source('tc_spider', '/home/elijah/Desktop/trydjango18/src2/trydjango18/trydjango18/ticket_city_scraper/ticket_city_scraper/spiders/tc_spider.py')
bandname = raw_input("Enter bandname")
tc_spider.spiderCrawl(bandname)
【问题讨论】:
-
请注意,使用
imp.load_source('tc_spider', '/home/elijah/Desktop/trydjango18/src2/trydjango18/trydjango18/ticket_city_scraper/ticket_city_scraper/spiders/tc_spider.py')会使您的脚本依赖于环境。 -
@ErnestTen 它将如何变得独立于环境
-
你不应该在你的项目目录之上使用任何东西。
标签: python django import web-scraping scrapy