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
啊,甚至更好。再次感謝。 –