2015-10-04 116 views
0

Scrapy noob here。我正在提取一個href'rel'attribute,如下所示:作爲Python字典返回XPATH響應

rel=""prodimage":"image_link","intermediatezoomimage":"image_link","fullimage":"image_link"" 

這可以看作屬性內的類似於結構的字典。

我的主要目標是獲得反對'全圖'的圖像url。因此,我想將響應存儲爲Python字典。 然而,XPath返回一個Unicode「名單」(不只是一個字符串,但名單!)有一個項目(全版本內容爲一個項目)

res = response.xpath('//*[@id="detail_product"]/div[1]/div[2]/ul/li[1]/a/@rel').extract() 
print res 

[u'"prodimage":"image_link", "intermediatezoomimage":"image_link", "fullimage":"image_link"'] 

type(res) 

type 'list' 

如何轉換「水庫」的內容轉換成就像一個Python字典(將列表項目分離出來,而不僅僅是一個整體項目),這樣我就可以在'rel'中從結構中獲取單個組件。

我希望我很清楚。謝謝!

+0

僅針對字典中的XPath有意義的XML標籤的屬性值,你可以隨時抓取,使用RE。順便說一句,你正在因字典丟失項目的順序。 – gjha

回答

0

解決

上述XPATH響應基本上是與unicode的一個項目的列表。 將各個項目轉換爲字符串(使用x.encode('ascii')) ,然後形成字典的字符串表示形式。在我的情況下,我不得不附加並在花括號前添加字符串(rel內容)。就這樣!

然後使用下面的鏈接中提到的方法將字典的字符串表示形式轉換爲實際的字典。

Convert a String representation of a Dictionary to a dictionary?