Я пытаюсь загрузить несколько сотен корейских страниц, как это:Regex на юникод строку
http://homeplusexpress.com/store/store_view.asp?cd_express=3
Для каждой страницы, я хочу использовать регулярное выражение для извлечения поле «адрес», который в выше страница выглядит следующим образом:
* 주소: 서울시 광진구 구의 1 동 236-53
Так что я это сделать:
>>> import requests
>>> resp=requests.get('http://homeplusexpress.com/store/store_view.asp?cd_express=3')
>>> resp.encoding
'ISO-8859-1'
>>> # I wonder why it's ISO-8859-1, since I thought that is for Latin text (Latin-1).
>>> html = resp.text
>>> type(html)
<type 'unicode'>
>>> html
(outputs a long string that contains a lot of characters like \xc3\xb7\xaf\xbd\xba \xc0\xcd\xbd\xba\xc7\xc1\xb7\xb9\)
Затем я написал сценарий. Я поставил # -*- coding: utf-8 -*-
на .py файл и поместить это:
address = re.search('주소', html)
Однако re.search
возвращается None
. Я пробовал с и без префикса u
в строке регулярного выражения.
Обычно я могу решить такие вопросы, позвонив по телефону .encode
или .decode
, но я попробовал несколько вещей и застрял. Любые указатели на то, что мне не хватает?
Что вы получите, если вы введите '주소' в оболочку, как вы делали с 'html'? Я получаю «\ xec \ xa3 \ xbc \ xec \ x86 \ x8c», который 're' может использовать без проблем. –
@RobWatts: IDLE дает мне: «Неподдерживаемые символы на входе». PowerShell отображает их как поля, а Python оценивает их на «??» – RexE
На странице используется кодировка euc-kr, которая отличается от utf-8. –