Некоторые проблемы Python Crawler

И я просто страдаю от вопроса о Python Crawler.

Во-первых, на сайтах есть два разных шестнадцатеричных китайских символа. Я могу конвертировать один из них (это E4BDA0E5A5BD), другой - C4E3BAC3, который у меня нет способа конвертировать, или, может быть, мне не хватает некоторых методов. Два шестнадцатеричных значения "你好" на китайском языке.

Во-вторых, я нашел веб-сайт, который может преобразовать шестнадцатеричное число, и, к моему удивлению, ответ - именно то, что я не могу скрыть самостоятельно.

URL-адрес http://www.uol123.com/hantohex.html

Затем я задал вопрос: как получить результат, который находится в текстовом поле (ну, я не знаю, как именно он называется). Я использовал firefox + httpfox для просмотра данных поста и обнаружил, что результат, который конвертируется веб-сайтом, находится в Контенте, вот картинка:

А затем я печатаю сообщение, в нем есть POST-данные и некоторые заголовки, но нет информации о контенте.

В-третьих, я гуглю, как использовать ajax, и я действительно нашел код о том, как использовать ajax.

Вот URL http://outofmemory.cn/code-snippet/1885/python-moni-ajax-request-get-ajax-request-response Но когда я запускаю это, у него появляется ошибка "ValueError: нет JSON объект может быть декодирован.

И простите, что я новичок, поэтому я не могу публиковать изображения!

Я с нетерпением жду вашей помощи искренне.

Любая помощь будет оценена.

1 ответ

Вы говорите о разных кодировках для этих китайских иероглифов. есть как минимум три разных широко используемых кодировки guobiao (для материкового Китая), big5 (на Тайване) и unicode (где-либо еще).

вот как конвертировать ваши кандзи в разные кодировки:

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

Вы можете проверить другие доступные кодировки здесь.

Ах, почти забыл. конвертировать из Unicode в кодировку, которую вы используете encode() метод. конвертировать обратно из закодированного содержимого веб-сайта, который вы можете использовать decode() метод. только не забудьте указать правильную кодировку.

Другие вопросы по тегам