1

我只是在为有关 python 爬虫的问题而苦恼。

首先,网站有两种不同的十六进制汉字。我可以转换其中一个(即 E4BDA0E5A5BD),另一个是 C4E3BAC3,我没有方法可以转换,或者我可能缺少一些方法。这两个十六进制值在中文中是'你好'。

其次,我找到了一个可以转换十六进制的网站,令我惊讶的是,答案正是我自己无法隐藏的。

网址是http://www.uol123.com/hantohex.html

然后我提出了一个问题:如何获得文本框中的结果(我不知道它到底叫什么)。我用firefox + httpfox观察帖子的数据,发现网站转换的结果在Content中,图片如下:

然后我打印帖子,它有 POST 数据和一些标题,但没有关于内容的信息。

第三,然后我google了如何使用ajax,我真的找到了一个关于如何使用ajax的代码。

这是网址http://outofmemory.cn/code-snippet/1885/python-moni-ajax-request-get-ajax-request-response 但是当我运行它时,它有一个错误,上面写着“ValueError:没有 JSON对象可以被解码。”

请原谅我是新手,所以我不能发布图片!!!

我真诚地期待您的帮助。

任何帮助将不胜感激。

4

1 回答 1

0

you're talking about different encodings for these chinese characters. there are at least three different widely used encodings guobiao (for mainland China), big5 (on Taiwan) and unicode (everywhere else).

here's how to convert your kanji into the different encodings:

>>> a = u'你好'             -- your original characters
>>> a
u'\u4f60\u597d'            -- in unicode
>>> a.encode('utf-8')
'\xe4\xbd\xa0\xe5\xa5\xbd' -- in UTF-8
>>> a.encode('big5')
'\xa7A\xa6n'               -- in Taiwanese Big5
>>> a.encode('gb2312-80')
'\xc4\xe3\xba\xc3'         -- in Guobiao
>>> 

You may check other available encodings here.

Ah, almost forgot. to convert from Unicode into the encoding you use encode() method. to convert back from the encoded contents of the web site you may use decode() method. just don't forget to specify the correct encoding.

于 2014-05-20T15:59:13.950 回答