Запустите Scrapy программно - PullRequest
0 голосов
/ 26 ноября 2018

У меня более 100 пауков, и я хочу запустить его из собственного скрипта

# -*- coding: utf-8 -*-
import scrapy
from scrapy import spiderloader
from scrapy.utils.project import get_project_settings
from twisted.internet import reactor
from scrapy.crawler import CrawlerRunner
from scrapy.utils.log import configure_logging

import logging

spider_loader = spiderloader.SpiderLoader.from_settings( get_project_settings() )
configure_logging(install_root_handler = False)
logging.basicConfig(
    format = '%(levelname)s: %(message)s',
    level = logging.ERROR
)

runner = CrawlerRunner( get_project_settings() )
spiders = spider_loader.list()
classes = [spider_loader.load( name ) for name in spiders]

for spider_class in classes:
    runner.crawl( spider_class )

d = runner.join()
d.addBoth(lambda _: reactor.stop())

reactor.run()

Но когда я запускаю python myscript.py, у меня возникает много ошибок модуля, таких как:

NotSupported: Unsupported URL scheme 'https': No module named http

И ни один паук не запускается.

Я пытался поставить / запустить этот скрипт из scrapy_root / module ИЛИ scrapy_root / module / module

Кто-то имеет представление, почему?

...