我正在努力从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()
答案 0 :(得分:3)
在蜘蛛中想出它你必须做一个条件语句,它将动态检查xpath是否包含值。
这是我的演绎。
item['date'] = sel.xpath('//*[@class="ratingDate relativeDate"]/@title').extract()
item['date'] += sel.xpath('//div[@class="col2of2"]//span[@class="ratingDate"]/text()').extract()