Я пытаюсь написать веб-сканер, который пытается очистить веб-сайт, но я всегда получаю сообщение об ошибке "ReactorNotRestartable" - PullRequest
0 голосов
/ 23 марта 2020

Вот полный код, который я написал:

import pandas as pd
import scrapy 
from scrapy.crawler import CrawlerProcess


class quote_collector(scrapy.Spider):
  name = "quote_collector_spider"

  def start_requests( self ):
    main_url = 'https://www.goodreads.com/quotes?'
    urls = [ 'https://www.goodreads.com/quotes?' ]
    for i in range(98):
        url = main_url+'page='+str(i+2)
        urls.append(url)

    for url in urls:
        yield scrapy.Request( url = url, callback = self.parse )

  def parse( self, response ):

    quote_blocks = response.xpath('//div[@class="quoteText"]')

    my_quotes = []

    for block in quote_blocks:
        quote = block.xpath('text()').extract_first().strip()
        author = block.xpath('.//span[@class="authorOrTitle"]/text()').extract_first().strip()
        ref = block.xpath('.//span/a[@class="authorOrTitle"]/text()').extract_first()

        my_quotes.append([quote, author, ref])

    quotes_df = pd.DataFrame(columns = ['Quote','Author','Referrence'])
    quotes_df = pd.concat(quotes_df, pd.DataFrame(my_quotes, columns = ['Quote','Author','Referrence']))

# initiate a CrawlerProcess
process = CrawlerProcess()
# tell the process which spider to use
process.crawl(quote_collector)
# start the crawling process
process.start()

И ошибка, которую я получаю, здесь:

* Файл "C: \ ProgramData \ Anaconda3 \ lib \ site -packages \ scrapy \ crawler.py ", строка 309, в стартовом реакторе.run (installSignalHandlers = False) # блокирующий вызов

Файл" C: \ ProgramData \ Anaconda3 \ lib \ site-packages \ twisted \ internet \ base.py ", строка 1282, в запуске self.startRunning (installSignalHandlers = installSignalHandlers)

Файл" C: \ ProgramData \ Anaconda3 \ lib \ site-packages \ twisted \ internet \ base. py ", строка 1262, в startRunning ReactorBase.startRunning (self)

Файл" C: \ ProgramData \ Anaconda3 \ lib \ site-packages \ twisted \ internet \ base.py ", строка 765, в startRunning повысить ошибку. ReactorNotRestartable ()

ReactorNotRestartable * Пожалуйста, помогите мне понять, что это за ошибка и что я здесь делаю неправильно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...