Я пишу паука для сканирования веб-сайта, но когда я запускаю scrapy crawl scraper_bot_name
, я получаю ModuleNotFound
ошибку: No module named scrapy.spider
, где scrapy.spider
- первый оператор импорта.
Кроме того, я проверил в VSCode, если бы я мог найти что-то еще, я видел эту проблему со всеми операторами from … import …
, ошибка читается - Unable to import ‘scrapy.spider’pylint(import-error)
Я попытался найти решение, и наиболее распространенное исправление, упомянутое, проверяет структура каталогов проекта. В частности, упоминается, чтобы проверить, были ли какие-либо файлы в проекте названы scrapy.py
. Это не относится к моему проекту, я также столкнулся с проблемой sqlalchemy
, поэтому я не думаю, что это проблема.
Вот структура каталогов -
- scrape_workspace
- my_scraper
- scraper_app
- init .py
- items.py
- модели .py
- settings.py
- pipelines.py
- пауки
- init .py
- angellist_spider. py
- scrapy.cfg
- Test (виртуальный env - также есть еще один виртуальный env в каталоге, параллельном scrape_workspace)
Вот трассировка -
Traceback (most recent call last):
File “/Users/arif/newcoderProjects/scrape/ScrapProj/bin/scrapy”, line 10, in <module>
sys.exit(execute())
File “/Users/arif/newcoderProjects/scrape/ScrapProj/lib/python3.8/site-packages/scrapy/cmdline.py”, line 142, in execute
cmd.crawler_process = CrawlerProcess(settings)
File “/Users/arif/newcoderProjects/scrape/ScrapProj/lib/python3.8/site-packages/scrapy/crawler.py”, line 280, in __init__
super(CrawlerProcess, self).__init__(settings)
File “/Users/arif/newcoderProjects/scrape/ScrapProj/lib/python3.8/site-packages/scrapy/crawler.py”, line 152, in __init__
self.spider_loader = self._get_spider_loader(settings)
File "/Users/arif/newcoderProjects/scrape/ScrapProj/lib/python3.8/site-packages/scrapy/crawler.py", line 146, in _get_spider_loader
return loader_cls.from_settings(settings.frozencopy())
File "/Users/arif/newcoderProjects/scrape/ScrapProj/lib/python3.8/site-packages/scrapy/spiderloader.py", line 68, in from_settings
return cls(settings)
File "/Users/arif/newcoderProjects/scrape/ScrapProj/lib/python3.8/site-packages/scrapy/spiderloader.py", line 24, in __init__
self._load_all_spiders()
File "/Users/arif/newcoderProjects/scrape/ScrapProj/lib/python3.8/site-packages/scrapy/spiderloader.py", line 51, in _load_all_spiders
for module in walk_modules(name):
File "/Users/arif/newcoderProjects/scrape/ScrapProj/lib/python3.8/site-packages/scrapy/utils/misc.py”, line 77, in walk_modules
submod = import_module(fullpath)
File “/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/importlib/__init__.py”, line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File “<frozen importlib._bootstrap>”, line 1014, in _gcd_import
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 783, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/Users/arif/newcoderProjects/scrape_workspace/my_scraper/scraper_app/spiders/angellist_spider.py", line 1, in <module>
from scrapy.spider import BaseSpider
ModuleNotFoundError: No module named 'scrapy.spider'