【发布时间】:2015-08-04 11:04:09
【问题描述】:
我正在使用scrapy 构建一个爬虫,并在运行scrapyd 的远程机器上运行它。我的蜘蛛很长很复杂,所以我把一些函数放在另一个文件def.py 中。
我的项目是这样的
./
|-- my_project
| |-- __init__.py
| |-- items.py
| |-- pipelines.py
| |-- settings.py
| `-- spiders
| |-- __init__.py
| |-- spider.py
`-- scrapy.cfg
`-- def.py
我使用以下代码在我的蜘蛛中导入我的函数
from def.py import get_questions
并在我的蜘蛛中使用它。
它在我的本地机器上运行良好,但如果我向 scrapyd 发送爬网请求,它无法找到 def.py。 (ImportError)
我使用 pypi 包中的scrapyd-deploy scrapyd-client
scrapyd-deploy my_spider
在向scrapyd 发送请求时,是否可以包含def.py 文件或包含函数?
我不希望蜘蛛拥有数百行代码。
【问题讨论】:
-
您是否尝试将您的
def.py放入您的spider文件夹中?您仍然可以使用projectname.spiders.def import def.py导入它
标签: python web-scraping scrapy scrapyd