[英]Escape Dollar Sign in Scrapy Xpath
使用沙啞的蜘蛛及其以錯誤的價格拉動輸出。
HTML:
<span style="" class="b-product_price-standard b-product_price-standard--line_through">$350</span>
Xpath:
['price'] = sel.xpath('normalize-space(div/main/div[4]/div[3]/div/div[1]/h1[2]/div/span[1]/text())').extract()
結果:
'price': [u'\u20ac300]
似乎是價格中的“ $”引起了問題。 我一直在發掘,似乎無法找到我認為將是一個常見問題的答案,這使我認為這可能是我所缺少的更多問題。
任何幫助是極大的贊賞!
使用re代替extract :
['price'] = sel.xpath('.../span[1]/text())').re('\d+')
Casimir et Hippolyte是正確的,可以檢索正確的結果,但是它在Python中的表示形式看起來有所不同。 但是除此之外,您的XPath表達式也不理想。
盡量不要依賴冗長的位置XPath表達式,當對HTML文檔進行小的更改時,它們很容易中斷。
而是嘗試通過元素的屬性查找元素。 也許類屬性的這種組合是唯一的? 例如
//span[@class = 'b-product_price-standard b-product_price-standard--line_through']
可以工作。 如果沒有,則必須顯示更多的HTML文檔。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.