2017-09-15 75 views
0

我想湊這個網站提供的路徑變化:如何從電子商務網站刮價格時scrapy

我的問題是,有2個不同clases和2型價格路徑是不同的。

通常我會用

item['price'] = sel.xpath('.//*[@class="price_discount"]/text()').extract_first() 

做,但這種情況下,我還需要刮掉具有價格時,它在它沒有提供「atg_store_newPrice」。

我可以使用不同的選擇和使用它的價格選擇裏面,提取裏面,像

item['price'] = sel.xpath('.//*[@class="price_discount"]/text()').extract_first(default='sel.xpath('.//*[@class="atg_store_newPrice"]/text()').extract_first()') 

當然,讓無效的語法,但也許如果我使用一個不同的選擇,我可以做到這一點?像price2

item['price2'] = sel.xpath('.//*[@class="atg_store_newPrice"]/text()').extract_first() 

然後

item['price'] = sel.xpath('.//*[@class="price_discount"]/text()').extract_first(default='price2') 

敢肯定這是不可能的了,所以我想詢問一下如何解決這個問題,我有建議。

回答

0

我不知道如果我理解正確的話你的需求,但是你可以使用這個XPath來涵蓋這兩種選擇:

item['price'] = sel.xpath('(.//*[@class="price_discount"]|.//*[@class="atg_store_newPrice"])/text()').extract_first() 
+0

感謝爵士。它完美的作品。 –