Я только что попробовал пример из онлайн-курса по веб-скрепингу, прежде чем пытаться построить своего собственного паука, но я получаю ошибку выше. Из других ответов я понял, что невозможно запустить более одного паука одновременно, но я не пытаюсь это сделать ...
import scrapy
from scrapy.crawler import CrawlerProcess
class DCspider( scrapy.Spider ):
name = "dcspider"
def start_requests( self ):
urls = [ 'https://www.datacamp.com/courses/all' ]
for url in urls:
yield scrapy.Request( url = url, callback = self.parse )
def parse( self, response ):
# simple example: write out the html
html_file = 'DC_courses.html'
with open( html_file, 'wb' ) as fout:
fout.write( response.body )
process = CrawlerProcess()
process.crawl(DCspider)
process.start()