gpt4 book ai didi

python - 无法弄清楚为什么这个 xpath 选择器不起作用

转载 作者:太空宇宙 更新时间:2023-11-03 15:10:59 24 4
gpt4 key购买 nike

这是我正在使用的 HTML:

<div class="left-info"> 
<div itemprop="author" itemscope="" itemtype="http://schema.org/Organization">
<meta content="/store/apps/developer?id=KONAMI" itemprop="url">
<a class="document-subtitle primary" href="/store/apps/developer?id=KONAMI">
<span itemprop="name">KONAMI</span>
</a>
<a class="document-subtitle category" href="/store/apps/category/GAME_SPORTS">
<span itemprop="genre">Sports</span>
</a>
</div>
</div>

我尝试了很多不同的 xpath 选择器,但无论出于何种原因,我都无法同时选择 SportsKONAMI 值。例如:

//div[@itemprop="author"]//span[contains(@itemprop,"genre")]//text()
//div[@itemprop="author"]//span[contains(@itemprop,"name")]//text()

这给了我 KONAMI 但一个空数组而不是 Sports。我想不通。

我正在使用 Scrapy 来抓取 Google Play 商店。上述示例的网址为 https://play.google.com/store/apps/details?id=jp.konami.pesam。这是parse函数:

def parse(self, response):
yield {
'utc': datetime.datetime.utcnow(),
'store': 'itunes',
'category': response.selector.xpath('//div[@itemprop="author"]//span[contains(@itemprop,"genre")]//text()').extract(),
'seller': response.selector.xpath('//div[@itemprop="author"]//span[contains(@itemprop,"name")]//text()').extract(),
'text': response.selector.xpath('//p[@itemprop="description"]/text()').extract()
}

最佳答案

您在浏览器中看到的 HTML 与 Scrapy 解析的 HTML 并不完全相同(您应该始终预料到会出现这种情况)。 “流派”位于不同的父项下,可以直接访问:

In [1]: response.xpath('//span[@itemprop="genre"]/text()').extract_first()
Out[1]: u'Sports'

关于python - 无法弄清楚为什么这个 xpath 选择器不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44211399/

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