簡體   English   中英

Escape美元符號

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM