首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在scrapy函数中删除项目名称?

如何在scrapy函数中删除项目名称?
EN

Stack Overflow用户
提问于 2019-05-08 23:33:48
回答 1查看 137关注 0票数 1

当运行编码时,它给我的项目价格,但项目名称是相同的。这意味着它先给transcription_price: 245,然后给transcription_price: 240。应该有caption_pricetranscription_price。为什么以及如何解决这个问题?

代码语言:javascript
复制
import scrapy
from .. items import FetchingItem
import re

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

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

    items['Transcription_price'] = Transcription_price

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

        other_items['Caption_price'] = Caption_price
        yield other_items

    yield items
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-09 02:00:30

您的代码永远不会到达方法self.next_parse。默认情况下,Scrapy对self.start_urls中的每个URL调用回调self.parse。您可以通过重写方法start_requests来使用自定义回调。

下面是你如何做到这一点:

代码语言:javascript
复制
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 documentation

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56044280

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档