Форум сайта python.su
Питон 2.7. Парсю сайт, юзая lxml
Пишу следующее:
categs = urllib.urlopen(url) doc = lxml.html.document_fromstring(categs.read().decode('utf-8')) categs = doc.cssselect('.submenu a') # список категорий for cat in categs: title = cat.text.title() print title # все ок, выводится как надо. без абракадабры print cat.get('href') # если в ссылке есть русские символы - выводит абракадабру. Что забыл?
Отредактировано barabansheg (Дек. 18, 2012 16:10:35)
Офлайн
barabanshegа вы уверены что содержащийся по урл документ использует UTF-8 кодировку?
categs = urllib.urlopen(url)
Офлайн
Я думаю <meta charset=“UTF-8”> об этом говорит. Плюс, если убрать decode после categs.read() то print title будет выдавать абракадабру.
Офлайн
Не знаю как решить. Пропустил ту ссылку и все :) Но возник другой вопрос.
Я считываю имя папки с помощью dirs = os.listdir(dir), для каждой папки внутри dir нужно создать экземпляр модели, но когда я пишу
m = Material( title = dirs[0], #имя папки ) m.save()
Отредактировано barabansheg (Дек. 20, 2012 17:48:32)
Офлайн