Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.68/25: Рейтинг темы: голосов - 25, средняя оценка - 4.68
3 / 3 / 1
Регистрация: 30.05.2013
Сообщений: 339

Вывод в консоль с некорректной кодировкой

24.03.2015, 19:10. Показов 4902. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
добрый день, написал скриптик, который убирает значения атрибутов из html страницы, он запускается из командной строки, результат выводится в консоль с некорректной кодировкой. Как исправить? Заранее спасибо !


Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import urllib
from bs4 import BeautifulSoup
 
 
import sys
 
if __name__ == "__main__":
    if len(sys.argv) == 2:
        url=sys.argv[1]
 
 
 
page = urllib.urlopen(url)
soup = BeautifulSoup(page, fromEncoding="windows-1251")
 
 
print soup.prettify()
print "===========================afterediting============================"
 
k=soup.findAll(True)
 
 
 
for i in range( len(k)):
  del (k[i]['style'])
   
 
print soup.prettify()
Добавлено через 1 час 56 минут
замучался писать скрипт, учитываю что знаком с питон 1 день, есть ли у кого идеи? Буду очень благодарен, т.к. сил уже разбираться во всем этом не особо много..)

Добавлено через 6 минут
попробовал
Python
1
2
3
import sys
reload(sys)
sys.setdefaultencoding('cp866')
не помогло
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.03.2015, 19:10
Ответы с готовыми решениями:

Вывод страницы с некорректной кодировкой
Добрый день, выводит страницу некорректно import urllib from bs4 import BeautifulSoup page =...

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

Проблема с кодировкой при выводе в консоль
Есть у меня файл list.txt, в каждой строчке которого ссылка на страницу в каталоге. Задача: вытащить из <div...

11
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
24.03.2015, 19:42
Цитата Сообщение от bazelbodayFaron Посмотреть сообщение
import sys
reload(sys)
sys.setdefaultencoding('cp866')
Ахаха ты хоть понимаешь, что это делает? Это не панацея и не лечит все проблемы и вообще лучше так не делать.
0
3 / 3 / 1
Регистрация: 30.05.2013
Сообщений: 339
24.03.2015, 19:55  [ТС]
смысл вашего ответа?
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
24.03.2015, 21:10
Смысл в том, что не надо пытаться код, который я процитировал. Он не поможет.

Добавлено через 54 секунды
Что касается не рабочего кода. Вот рабочая версия, но я не советую использовать BeautifulSoup, тяжёлая, неудобная и медленная библиотека. Лучшее использовать lxml. Если интересует, могу показать пример как с ней работать.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import urllib
 
from bs4 import BeautifulSoup
 
url = "http://www.google.ru/"
page = urllib.urlopen(url)
soup = BeautifulSoup(page, fromEncoding="windows-1251")
 
print(soup.encode('cp866'))
print("===========================afterediting============================")
 
k = soup.findAll(True)
 
for i in range( len(k)):
    del (k[i]['style'])
 
print(soup.encode("cp866"))
И ещё кстати вопрос, почему не пользуешься 3 версией Python?
0
3 / 3 / 1
Регистрация: 30.05.2013
Сообщений: 339
24.03.2015, 21:32  [ТС]
мне нужно чтобы результат выводился в командной строке из которой мы вызываем скрипт, там этот код не будет работать
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
25.03.2015, 09:01
там этот код не будет работать
Да ты в течении часа смотрю в матерого программиста мутировал. В голове код интерпретируешь
Проверь сначала, а потом говори. Если ты в обычной консоли win, запускаешь, то все будет работать.
0
3 / 3 / 1
Регистрация: 30.05.2013
Сообщений: 339
25.03.2015, 10:11  [ТС]
вот что пишет
Миниатюры
Вывод в консоль с некорректной кодировкой  
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
25.03.2015, 14:44
Лучший ответ Сообщение было отмечено bazelbodayFaron как решение

Решение

bazelbodayFaron,
Миниатюры
Вывод в консоль с некорректной кодировкой  
1
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
25.03.2015, 14:45
Что у тебя в консоли выводит команда?
Code
1
chcp
0
3 / 3 / 1
Регистрация: 30.05.2013
Сообщений: 339
27.03.2015, 14:24  [ТС]
спасибо за участие, задание уже потеряло актуальность(
0
0 / 0 / 0
Регистрация: 28.03.2015
Сообщений: 1
28.03.2015, 15:11
Столкнулся с похожей проблемой когда пытался выполнить вот это:

Python
1
2
3
4
b = '»'.encode()
print(b)
b = b.decode('utf-8')
print(b)
Закодировать у него получается, а обратно выдаёт ошибку(
Версия Python 3.4
Подскажите что с этим делать?
Миниатюры
Вывод в консоль с некорректной кодировкой  
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
28.03.2015, 18:18
vanyaonline, У тебя ошибка возникает не при декодировании, а при выводе декодированной в юникод строки. И ты сам это можешь увидеть, если внимательно на ошибку посмотришь.

Эта ошибка возникает, потому что по умолчанию кодировка в консоли windows cp866, а в этой кодировке нет символа, который ты пытаешься вывести. По этому у тебя есть несколько путей решения проблемы:
1. При кодировании строки использовать специальный флаг, который позволит избежать ошибки если символ невозможно закодировать.
2. Поменять кодировку консоли на utf8 и тогда на своей тачке ты забудешь на всегда про такие проблемы.
3. Использовать power shell (там по умолчанию используется utf8). Пользователи винды говорят, что удобная штука.

Выбирай какой использовать.

vanyaonline, на будущие тебе. Не надо засорять чужие темы, если есть вопрос, то создавай свою.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.03.2015, 18:18
Помогаю со студенческими работами здесь

С кодировкой базы данных и кодировкой сайтом и кодировкой файла разобраться не могу
С кодировкой базы данных и сайтом файлом разобраться не могу. Я на своем сайте вывожу данные из другой mysql.... МММ сайт на win 1251 а...

Прием байтов через сокеты в консоль - проблема с кодировкой кириллицы
Через сокет принимаю массив байтов, потом достаю из них символы и вывожу на консоль. Когда принимаю сообщение английской раскладкой - всё...

Считывание текста у txt файла.Прoблема с кириллицой(с кодировкой)(консоль)
Проблема в следующем,когда я создаю txt файл обычным текстовым редактором windows а он используют кодировку Ansi. То когда моя программа...

Буферизация вывода в консоль, и цветной вывод в консоль
Потребовалось реализовать цветной вывод массивов в консоль(некоторые значения выделить зеленым). Для этого...

Вывод текст в консоль (не получается вывести текст в консоль; попытка была в разделе menu, но вывелся ужас)
d_d1 segment ;начало сегмента данных m1 db 23, '=========MENU=========', 23, '$' m2 db 23, '| 1- slodjenie |', 23, '$' m3 db...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru