Ваш код никогда не достигает метода self.next_parse
.По умолчанию Scrapy вызывает обратный вызов self.parse
для каждого URL в self.start_urls
.Вы можете использовать настраиваемый обратный вызов, переопределив метод start_requests
.
Вот как вы это делаете:
import scrapy
from .. items import FetchingItem
import re
class SiteFetching(scrapy.Spider):
name = 'Site'
def start_requests(self):
return [
scrapy.Request('https://www.rev.com/freelancers/transcription', callback=self.parse_transcription),
scrapy.Request('https://www.rev.com/freelancers/captions', callback=self.parse_caption)
]
def parse_transcription(self, response):
items = FetchingItem()
Transcription_price = response.css('#middle-benefit .mt1::text').extract()
items['Transcription_price'] = Transcription_price
yield items
def parse_caption(self, response):
other_items = FetchingItem()
Caption_price = response.css('#middle-benefit .mt1::text').extract()
other_items['Caption_price'] = Caption_price
yield other_items
См. Документацию Spider для получения дополнительной информации.