Некоторые проблемы 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()
метод. только не забудьте указать правильную кодировку.