我开始进入python,是的,我已经在这个网站和网页上搜索了一个答案,但不知怎的,我真的无法让它运行。
我已经创建了一个蜘蛛类EbaySpider,驻留在spider / ebay.py中,我可以从命令行开始没有问题(即使输出到JSON文件)。现在我想从另一个.py文件开始scrapy,这样我就可以直接访问已爬网的数据并将其输出到GUI(稍后会考虑如何做)。
我已经从this question获取代码(askers代码,因为我不需要多次运行蜘蛛)并添加了
from spiders import ebay
from scrapy.crawler import CrawlerProcess
从头开始,掌握所有必要的资源。
我得到的错误是
ImportError:无法导入名称易趣。
当然,我已经玩过importstatement,将它从'ebay'改为'EbaySpider',将'蜘蛛'改为'spiders.ebay'或'projectname.spiders.ebay',但不知何故它们似乎都没有用。
如果你能告诉我如何解决这个问题,或者运行蜘蛛的另一种方式然后可以访问我的python程序中的已爬行数据,那将是很棒的。我对任何有效的东西都感到高兴,并且可以理解的一半:)
谢谢大家!
答案 0 :(得分:0)
您可以尝试使用python的relative import功能从相对于python脚本的目录导入模块。您无法导入模块的原因是因为spiders
模块不是您的PYTHON_PATH
。
from .spiders import ebay
注意:spiders
之前的点
答案 1 :(得分:0)
基本上你有三个选择;
import ebay
。对于第三个选项,您必须在__init__.py
目录中创建文件spiders
。它可以是空的。然后你必须修改你的脚本如下(假设spiders
是你的程序运行目录的子目录):
import os
import sys
sys.path.append(os.getcwd()+'/spiders')
print sys.path
from spiders import ebay