2015-02-09 161 views
0

我使用Firefox的XPath的提取從該網站提取下面的代碼片段:http://www.zdic.net/z/19/js/5DCD.htm確定從xpath刮取的內容的編碼。轉換爲Unicode

我要找的那部分是丨フ丨ノ一丨ノ丶フノ一ノ丨フ一一ノフフ丶

xpath extractor add on擔任我下面id('z_i_t2_bis')

我用這個命令輸入scrapy shellresponse.selector.xpath("id('z_i_t2_bis')").extract()

它返回了這個:

[u'<span id="z_i_t2_bis" title="\u7ad6\u6298\u7ad6\u6487\u6a2a\u7ad6\u6487\u637a\u6298\u6487\u6a2a\u6487\u7ad6\u6298\u6a2a\u6a2a\u6487\u6298\u6298\u637a">\u4e28\u30d5\u4e28\u30ce\u4e00\u4e28\u30ce\u4e36\u30d5\u30ce\u4e00\u30ce\u4e28\u30d5\u4e00\u4e00\u30ce\u30d5\u30d5\u4e36</span>'] 

如何判斷這是我想要的?

它似乎被編碼爲HTML,有沒有辦法讓它回到unicode?

回答

1

它已經是unicode。這只是一個逃脫表示。 所以你可以直接用'in'運算符檢查你的模式:

pattern = u'丨フ丨ノ一丨ノ丶フノ一ノ丨フ一一ノフフ丶' 
result = [u'<span id="z_i_t2_bis" title="\u7ad6\u6298\u7ad6\u6487\u6a2a\u7ad6\u6487\u637a\u6298\u6487\u6a2a\u6487\u7ad6\u6298\u6a2a\u6a2a\u6487\u6298\u6298\u637a">\u4e28\u30d5\u4e28\u30ce\u4e00\u4e28\u30ce\u4e36\u30d5\u30ce\u4e00\u30ce\u4e28\u30d5\u4e00\u4e00\u30ce\u30d5\u30d5\u4e36</span>'] 

if pattern in result[0]: 
    print('found')