Sma*_*hed 2 python xpath scrapy web-scraping
我正在尝试从Tripadvisor获取数据,但大多数前者是相对日期,其余的是正常的MM / DD / YYYY,但是仔细检查后,我发现相对日期具有
<span class="ratingDate relativeDate" title="20 June 2015">Reviewed 4 weeks ago
</span>
Run Code Online (Sandbox Code Playgroud)
我正在使用此Xpath来获取数据
response.xpath('//div[@class="col2of2"]//span[@class="ratingDate relativeDat
e" or @class="ratingDate"]/text()').extract()
Run Code Online (Sandbox Code Playgroud)
我的问题是如何添加@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()
Run Code Online (Sandbox Code Playgroud)
在Spider中弄清楚了,您必须执行一个条件语句,该语句将动态检查xpath是否包含值。
这是我的演出。
item['date'] = sel.xpath('//*[@class="ratingDate relativeDate"]/@title').extract()
item['date'] += sel.xpath('//div[@class="col2of2"]//span[@class="ratingDate"]/text()').extract()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5879 次 |
| 最近记录: |