Каким-то образом я не могу найти правильный способ разработки пауков-скрабов (особенно RUN / TEST им) с помощью Jupyterlab. Я пытался использовать CrawlerProcess, как описано в их документации, и некоторые сообщения stackoverflow:
import scrapy
from scrapy.crawler import CrawlerProcess
from scrapy.utils.project import get_project_settings
class BlogSpider(scrapy.Spider):
name = 'blogspider'
start_urls = ['https://blog.scrapinghub.com']
def parse(self, response):
for title in response.css('.post-header>h2'):
yield {'title': title.css('a ::text').get()}
for next_page in response.css('a.next-posts-link'):
yield response.follow(next_page, self.parse)
process = CrawlerProcess(get_project_settings())
process.crawl(BlogSpider)
process.start() # the script will block here until the crawling is finished
Однако он запускается только ОДИН РАЗ, и каждый раз, когда я пытаюсь запустить его снова, выдается ошибка ReactorNotRestartable . Каков рекомендуемый способ перезапустить этот процесс или повторно протестировать паука? Я имею в виду, что при разработке паука мне кажется логичным, что его нужно будет много тестировать, поэтому я не понимаю, почему это так сложно - может быть, я все делаю неправильно?
Я видел некоторые сообщения Stackoverflow по этому вопросу, но они либо предложили вышеупомянутый подход, либо тот, который не работал.
Любая помощь будет принята с благодарностью.