我正在尝试从脚本中运行Scrapy,并按照这里的教程进行操作。但遇到了一个错误消息:“Error: ImportError: No module named testspiders.spiders.followall”。我一直在寻找解决方法,但还没有找到匹配的方案。
实际上,我是通过node.js运行这个Python脚本的,它有一个名为python-shell的模块,可以使用以下简单代码来运行Python脚本:
实际上,我是通过node.js运行这个Python脚本的,它有一个名为python-shell的模块,可以使用以下简单代码来运行Python脚本:
var PythonShell = require('python-shell');
PythonShell.run('my_script.py', function (err) {
if (err) throw err;
console.log('finished');
});
实际上,我的代码是从Scrapy网站复制的:
from twisted.internet import reactor
from scrapy.crawler import Crawler
from scrapy import log, signals
from testspiders.spiders.followall import FollowAllSpider
from scrapy.utils.project import get_project_settings
spider = FollowAllSpider(domain='scrapinghub.com')
settings = get_project_settings()
crawler = Crawler(settings)
crawler.signals.connect(reactor.stop, signal=signals.spider_closed)
crawler.configure()
crawler.crawl(spider)
crawler.start()
log.start()
reactor.run()
我的目录结构只是在Express框架的基础上添加了python目录和文件,并添加了几行代码来使用python-shell:
-python-node
-bin
-node_modules
-public
-python
-my_script.py
-routes
-views
-app.js
-package.json
注意:如果我进入Python目录并运行python my_script.py
也不起作用,我会得到相同的错误信息:ImportError: No module named testspiders.spiders.followall
import testspiders
,from testspiders import spiders
等操作吗? - karthikr