Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/75: Рейтинг темы: голосов - 75, средняя оценка - 4.89
6 / 6 / 1
Регистрация: 22.10.2012
Сообщений: 36

Grab: кодировка текста

25.04.2014, 07:48. Показов 16951. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Накидал парсер новостей с lenta.ru и gazeta.ru.
Использовал grab 0.4.13.
python 3.3.5 под w8.1
Проблема такая:
Текст вытаскивается из grab.response.body. С ленты вытаскивается нормально, с газеты.ру вытаскиваются только знаки препинания, текст не тащиться. Насколько знаю, grab.response.body возвращает текст в utf-8, на газеты charset=cp1251.
Пробовал читать body_as_bytes() (побайтово), тогда с ленты грабятся иероглифы, а с газеты нормальный, нужный текст..
Кто сталкивался?Что делать?
.encode(),.decode() не помогают..

При body_as_bytes():
Кандидат от оппозиции Абдулла Абдулла (Abdullah Abdullah) набрал 41,9 процента голосов на президентских выборах в Афганистане. Об этом в воскресенье, 13 апреля, сообщает Reuters. На втором месте идет ориентирующийся на Запад экс-министр финансов Ашраф Гани (Ashraf Ghani) — его поддержали 37,6 процента электората
Пока в Независимой избирательной комиссии Афганистана обработали только 10 процентов бюллетеней, поданных в 26 из 34 провинций страны в ходе голосования, состоявшегося 5 апреля, поэтому обнародованные результаты носят сугубо предварительный характер. По словам руководителя национального избиркома Юсуфа Нуристани (Yousuf Nuristani), подсчитано лишь порядка 500 тысяч голосов при том, что в выборах принимали участие порядка семи миллионов жителей страны, пишет The Washington Post.
Согласно национальному законодательству, победителем в борьбе за высший государственный пост станет кандидат, заручившийся поддержкой не менее 50 процентов избирателей. Тем не менее Абдулла Абдулла, бывший министр иностранных дел Афганистана, уже заявил, что хотя и рассчитывает после официальной победы на выборах сформировать правительство национального единства, места для его ближайшего оппонента в кабинете министров нет. «Доктор Гани сможет выступать в качестве представителя лояльной оппозиции. Ð*то тоже принесет пользу стране», — заявил Абдулла в интервью Associated Press.
Ð*одившийся в 1960 году Абдулла Абдулла возглавляет оппозиционную «Национальную коалицию Афганистана». Офтальмолог по образованию, он был одним из ближайших сподвижников полевого командира моджахедов Ахмад Шаха Масуда в годы советской военной кампании в Афганистане. Ð’ администрации Хамида Карзай Абдулла Абдулла в 2001-2005 годах был главой МÐ?Д. На президентских выборах в 2009 году занял второе место, получив 30,6 процента голосов.



lenta.ru/news/2014/04/13/afghanistan


В Архангельске в результате лобового столкновения автобуса и легкового автомобиля пострадали 9 человек, сообщает пресс-служба регионального УМВД.«Около 12 часов в Архангельске в районе д. 34 по ул. Доковской произошло столкновение автобуса ПАЗ маршрута №3, перевозившего людей, и легкового автомобиля «Рено-Логан», — говорится в сообщении.По предварительной информации, водитель «Рено» выехал на полосу встречного движения, где столкнулся с автобусом. В результате ДТП пострадали девять человек, в том числе водитель легковушки и восемь пассажиров автобуса. Им всем оказывается медицинская помощь.Сотрудники полиции выясняют все обстоятельства произошедшего.



https://www.gazeta.ru/auto/new... 95469.shtm
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.04.2014, 07:48
Ответы с готовыми решениями:

Кодировка текста перестановкой столбцов в массиве, составленном из слов текста
Нужно заполнить двумерный массив с поля (Edit) после некоторых операций вывести массив в поле. Вопрос как заполнить массив с...

Кодировка текста
После создания программой текстово файла, при открытие его AkelPad'ом он выглядет нормально, но при открытие блокнотом весь файл выглядет...

Кодировка текста
За место названий цвета отображается вопросиками (??????), подскажите где и какую кодировку правильно прописать? <?php /** *...

5
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
25.04.2014, 10:14
Leshkin, попробуй считывать с помощью body_as_bytes() и потом к полученым данным примени метод .decode('cp1251'). Ну кодировку естественно применяй к каждому сайту свою.
0
6 / 6 / 1
Регистрация: 22.10.2012
Сообщений: 36
25.04.2014, 10:27  [ТС]
Цитата Сообщение от tsar925 Посмотреть сообщение
body_as_bytes() и потом к полученым данным примени метод .decode('cp1251').
не вариант так делать, так как парсер для разных сайтов будет использоваться.
при граббинге с ленты.ру вылетает ошибка:UnicodeDecodeError: 'charmap' codec can't decode byte 0x98 in position 124: character maps to <undefined>
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
25.04.2014, 10:33
Leshkin, газета.ру таким образом нормально парсится?
0
6 / 6 / 1
Регистрация: 22.10.2012
Сообщений: 36
25.04.2014, 10:40  [ТС]
tsar925, газета.ру и без decode() прсто body_as_bytes() хорошо парсится.
причем с mail.ru тоже нормально парсится.
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
25.04.2014, 10:46
Лучший ответ Сообщение было отмечено Leshkin как решение

Решение

Я ни когда grab не пользовался, могу показать как тоже самое сделать с помощью другой библиотеки.
Python
1
2
3
4
import requests
 
data = requests.get('http://lenta.ru/news/2014/04/13/afghanistan/')
print(data.text)
Python
1
2
3
4
import requests
 
data = requests.get('http://www.gazeta.ru/')
print(data.text)
С помощью этой библиотеки без проблем получаются страницы обоих сайтов. Агетировать бросать grab не буду, решайте сами. Как решить проблему с grab не могу, потому как не работал с ним.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.04.2014, 10:46
Помогаю со студенческими работами здесь

Кодировка текста
Доброго времени суток, возникла проблема, записывая данные в БД, ввожу их на русском (Например: Математика), но когда мне надо сделать...

Кодировка текста
Доброго времени суток! подскажите, пожалуйста, у меня есть файл с расширением txt но там проблемы с кодировкой текста. могу ли я...

Кодировка текста
Проблема заключается в том, что текст на русском языке кодируется некорректно. Если заносить данные из формы, то в БД они появляются...

Кодировка текста
Всем привет, вот сделал дамп БД но некоторые таблицы отобразились не правильно, я так понимаю не в той кодировке вот пример текста:...

Кодировка текста
Доброго времени суток! У меня следующая ситуация: создал папку в убунте, разшарил. Захожу на нее с винды, создаю и заполняю текстом файл....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru