Как запустить оба элемента в функции скрапа? - PullRequest
0 голосов
/ 08 мая 2019

Всякий раз, когда я использую ссылку captions and transcription в переменной start_urls, она дает мне цену caption как в заголовках, так и в переменной транскрипции и снова дает мне цену transcription в обеих переменных. Почему и как решить эту проблему?

import scrapy
from .. items import FetchingItem

class SiteFetching(scrapy.Spider):
    name = 'Site'
    start_urls = ['https://www.rev.com/freelancers/captions',
                  'https://www.rev.com/freelancers/transcription']

    def parse(self, response):
        items = FetchingItem()
        Transcription_price = response.css('#middle-benefit .mt1::text').extract()
        Caption_price = response.css('#middle-benefit .mt1::text').extract()

        items['Transcription_price'] = Transcription_price
        items['Caption_price'] = Caption_price
        yield items

1 Ответ

2 голосов
/ 08 мая 2019

Я подозреваю, что вам нужна другая структура класса, последовательная:

import scrapy
from .. items import FetchingItem

class SiteFetching(scrapy.Spider):
    name = 'Site'
    start_urls = ['https://www.rev.com/freelancers/captions']

    def parse(self, response):
        items = FetchingItem()
        items['Caption_price'] = response.css('#middle-benefit .mt1::text').extract()
        yield Request('https://www.rev.com/freelancers/transcription', self.parse_transcription, meta={'items': items})

    def parse_transcription(self, response):
        items = response.meta['items']
        items['Transcription_price'] = response.css('#middle-benefit .mt1::text').extract()
        yield items
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...