gpt4 book ai didi

python-2.7 - 使用scrapy产生多个项目

转载 作者:行者123 更新时间:2023-12-03 13:07:20 24 4
gpt4 key购买 nike

我正在从以下 URL 抓取数据:
http://www.indexmundi.com/commodities/?commodity=gasoline

有两个部分包含价格:墨西哥湾沿岸汽油 future 日终结算价汽油每日价格

我想从两个部分中抓取数据作为两个不同的 项目 .这是我写的代码:

if dailyPrice:
item['description'] = u''.join(dailyPrice.xpath(".//h1/text()").extract())
item['price'] = u''.join(dailyPrice.xpath(".//span/text()").extract())
item['unit'] = dailyPrice.xpath(".//div/p/text()").extract()[0].split(',')[-1]
regex = re.compile("Source:(.*)",re.IGNORECASE|re.UNICODE)
result = re.search(regex, u''.join(dailyPrice.xpath(".//div/p/text()").extract()))
if result:
item['source'] = result.group(1).strip()

yield item


if futurePrice:
item['description'] = u''.join(futurePrice.xpath(".//h1/text()").extract())
item['price'] = u''.join(futurePrice.xpath(".//span/text()").extract())
item['unit'] = u''.join(futurePrice.xpath(".//div[2]/table//tr[1]/td/text()").extract())
source = futurePrice.xpath(".//div[2]/table//tr[4]/td/a/text()").extract()
if source:
item['source'] = u' - '.join(source)
else:
item['source'] = ''

yield item

我想知道这段代码是否可以正常工作,或者应该采取什么正确的方法来做到这一点?

最佳答案

它应该工作得很好。您可以从 parse 中生成尽可能多的项目。根据需要回调。只是一些注意事项:

  • 在第二种情况下,最好创建一个新项目然后重用旧项目。因为您永远不知道旧项目引用发生了什么。也许您正在覆盖并丢失以前的数据。
  • 您可以为两个案例创建不同的项目类型。并在管道中区别对待它们。
  • 关于python-2.7 - 使用scrapy产生多个项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21672636/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com