确定从xpath中抓取的内容的编码。转换为unicode

时间:2015-02-09 14:51:31

标签: python html xml xpath unicode

我使用firefox xpath提取程序从此网站中提取以下代码段:http://www.zdic.net/z/19/js/5DCD.htm

我正在寻找的部分是丨フ丨ノ一丨ノ丶フノ一ノ丨フ一一ノフフ丶

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 个答案:

答案 0 :(得分:1)

它已经是unicode了。它只是一个逃脱的代表。 因此,您可以使用&#39; in&#39;直接检查您的模式。操作者:

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')