1
这里是HTML我的工作:想不通,为什么这个XPath选择不工作
<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选择,但不管是什么原因,我可以”吨拿起Sports
和KONAMI
值。例如:
//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()
}
啊,我明白了。整蛊!谢谢。 –
@EvanZamir是的,请注意'.selector'是不必要的 - ''response'暴露了内部选择器的方法.. – alecxe
啊,甚至更好。再次感谢。 –