Я пытаюсь преобразовать сценарий scrapy в исполняемый файл.Файл main.py выглядит следующим образом:
from scrapy.crawler import CrawlerProcess
from amazon.spiders.amazon_scraper import Spider
spider = Spider()
process = CrawlerProcess({
'FEED_FORMAT': 'csv',
'FEED_URI': 'data.csv',
'DOWNLOAD_DELAY': 3,
'RANDOMIZE_DOWNLOAD_DELAY': True,
'ROTATING_PROXY_LIST_PATH': 'proxies.txt',
'USER_AGENT_LIST': 'useragents.txt',
'DOWNLOADER_MIDDLEWARES' :
{
'rotating_proxies.middlewares.RotatingProxyMiddleware': 610,
'rotating_proxies.middlewares.BanDetectionMiddleware': 620,
'scrapy.downloadermiddlewares.useragent.UserAgentMiddleware': None,
'random_useragent.RandomUserAgentMiddleware': 400
}
})
process.crawl(spider)
process.start() # the script will block here until the crawling is finished
Скриптовый скрипт выглядит как любой другой.Я использую pyinstaller.exe --onefile main.py
, чтобы преобразовать его в исполняемый файл.Когда я пытаюсь открыть файл main.exe в папке dist, он начинает выводить ошибки:
FileNotFoundError: [Errno 2] No such file or directory: '...\\scrapy\\VERSION'
Я могу это исправить, создав папку scrapy внутри папки dist и загрузив файл VERSION из lib / site-пакеты / SCRAPY.После этого возникает много других ошибок, но я могу исправить их, загрузив некоторые библиотеки scrapy.
В конце концов, он начинает выводить ошибку:
ModuleNotFoundError: No module named 'email.mime'
Я даже не знаю, что это делаетимею в виду.Я никогда не видел это.
Я использую:
Python 3.6.5
Scrapy 1.5.0
pyinstaller 3.3.1