如何从XPath中的类属性获取标题(Python / scrapy)

时间:2015-07-20 07:12:52

标签: python xpath web-scraping scrapy

我正在努力从tripadvisor获取数据,但大多数第一个都是相对日期,其余的是正常的MM / DD / YYYY,但仔细观察我发现相对日期有这个

<span class="ratingDate relativeDate" title="20 June 2015">Reviewed 4 weeks ago
</span>

我正在使用此Xpath来获取数据

response.xpath('//div[@class="col2of2"]//span[@class="ratingDate relativeDat
e" or @class="ratingDate"]/text()').extract()

我的问题是如何添加@title以便我可以获得具有正常日期格式的标题。

我试过

response.xpath('//div[@class="col2of2"]//span[@class="ratingDate relativeDat
e"/@title or @class="ratingDate"]/text()').extract()

response.xpath('//div[@class="col2of2"]//span[@class="ratingDate relativeDat
e" or @class="ratingDate"]/@title/text()').extract()

1 个答案:

答案 0 :(得分:3)

在蜘蛛中想出它你必须做一个条件语句,它将动态检查xpath是否包含值。

这是我的演绎。

item['date'] = sel.xpath('//*[@class="ratingDate relativeDate"]/@title').extract()
item['date'] += sel.xpath('//div[@class="col2of2"]//span[@class="ratingDate"]/text()').extract()