Форум сайта python.su
0
re_title = re.compile(r"<title*>(.+?)</title>", re.IGNORECASE | re.DOTALL) ... s = str(content) print(s[0:1000]) print(re_title.findall(s)) print(re_title.search(s).group(1)) #.encode("cp866"))
g="http://ogp.me/ns#“><meta http-equiv=”X-UA-Compatible“ content=”IE=edge“><title>\xd0\xaf\xd0\xbd\xd0\xb4\xd0\xb5\xd0\xba\xd1\x81</title><meta http-equiv=Content-Type content=”text/html;charset=UTF-8“><link rel=”apple-touch-icon“ href=”//yastatic.net/morda-logo/i/apple-touch-icon/ru-76x76.png“ sizes=”76x76“><link rel=”apple-touch-icon“ href=”//yastatic.net/morda-logo/i/apple-touch-icon/ru-120x120.png“ sizes=”120x120“><link rel=”apple-touch-icon“ href=”//yastatic.net/morda-logo/i/apple-touch-icon/ru-152x152.png“ sizes=”152x152“><link rel=”apple-touch-icon“ href=”//yastatic.net/morda-logo/i/apple-touch-icon/ru-180x180.png“ sizes=”180x180“><link rel=”alternate“ type=”application/rss+xml“ title=”\xd0\x9d\xd0\xbe\xd0\xb2\xd0\xbe\xd1\x81\xd1\x82\xd0\xb8 \xd0\xaf\xd0\xbd\xd0\xb4\xd0\xb5\xd0\xba\xd1\x81\xd0\xb0“ href=”//company.yandex.ru/news/news.rss“><link rel=”alternate" Отредактировано snake_eater (Ноя. 8, 2015 13:17:25)
Офлайн
.
Отредактировано J.R. (Янв. 27, 2016 08:32:23)
Офлайн
857
Надо скачать, потом раскодировать с помощью кодировки, указанной сервером (или в странице), потом искать нужный текст, а потом уже найденный текст выводить на консоль, предварительно установив для консоли кодировку utf-8.
Текст страницы в utf-8, это значит, что там могут быть символы, которые не могут быть закодированы в cp1251. Поэтому в винде нужно консоль настроить на utf-8.
Офлайн
0
J.R.
У вас в выхлопе байткод. Чтоб получить читабельный выхлоп, вам нужно этот байткод декодировать в желанную кодировку. Пример:
logging.basicConfig(filename="log.txt", level=logging.DEBUG) re_title = re.compile(r"<title*>(.+?)</title>", re.IGNORECASE | re.DOTALL) ... s = str(content) logging.info(s[0:1000]) logging.info(re_title.findall(s)) logging.info(re_title.search(s).group(1))
g="http://ogp.me/ns#“><meta http-equiv=”X-UA-Compatible“ content=”IE=edge“><title>\xd0\xaf\xd0\xbd\xd0\xb4\xd0\xb5\xd0\xba\xd1\x81</title><meta http-equiv=Content-Type content=”text/html;charset=UTF-8“><link rel=”apple-touch-icon“ href=”//yastatic.net/morda-logo/i/apple-touch-icon/ru-76x76.png“ sizes=”76x76“><link rel=”apple-touch-icon“ href=”//yastatic.net/morda-logo/i/apple-touch-icon/ru-120x120.png“ sizes=”120x120“><link rel=”apple-touch-icon“ href=”//yastatic.net/morda-logo/i/apple-touch-icon/ru-152x152.png“ sizes=”152x152“><link rel=”apple-touch-icon“ href=”//yastatic.net/morda-logo/i/apple-touch-icon/ru-180x180.png“ sizes=”180x180“><link rel=”alternate“ type=”application/rss+xml“ title=”\xd0\x9d\xd0\xbe\xd0\xb2\xd0\xbe\xd1\x81\xd1\x82\xd0\xb8 \xd0\xaf\xd0\xbd\xd0\xb4\xd0\xb5\xd0\xba\xd1\x81\xd0\xb0“ href=”//company.yandex.ru/news/news.rss“><link rel=”alternate" Офлайн
0
кстати та же фигня если просто записывать в файл
with open("file.txt", "w") as f: f.write(re_title.search(s).group(1))
Отредактировано snake_eater (Ноя. 8, 2015 13:27:47)
Офлайн
0
logging.basicConfig(filename="log.txt", level=logging.DEBUG) re_title = re.compile(r"<title*>(.+?)</title>", re.IGNORECASE | re.DOTALL) s = str(content) logging.info(s[0:1000]) logging.info(re_title.findall(s)) logging.info("Заголовок: " + re_title.search(s).group(1)) with open("file.txt", "w") as f: f.write("Записать текст с кирилицей") f.write(re_title.search(s).group(1))
INFO:root:b'<!DOCTYPE html><html class=“i-ua_js_no i-ua_css_standart i-ua_browser_unknown i-ua_pseudo_yes” lang=“ru”><head xmlnsт.е. текст заданный в коде записыввается нормальноg="http://ogp.me/ns#“><meta http-equiv=”X-UA-Compatible“ content=”IE=edge“><title>\xd0\xaf\xd0\xbd\xd0\xb4\xd0\xb5\xd0\xba\xd1\x81</title><meta http-equiv=Content-Type content=”text/html;charset=UTF-8“><link rel=”apple-touch-icon“ href=”//yastatic.net/morda-logo/i/apple-touch-icon/ru-76x76.png“ sizes=”76x76“><link rel=”apple-touch-icon“ href=”//yastatic.net/morda-logo/i/apple-touch-icon/ru-120x120.png“ sizes=”120x120“><link rel=”apple-touch-icon“ href=”//yastatic.net/morda-logo/i/apple-touch-icon/ru-152x152.png“ sizes=”152x152“><link rel=”apple-touch-icon“ href=”//yastatic.net/morda-logo/i/apple-touch-icon/ru-180x180.png“ sizes=”180x180“><link rel=”alternate“ type=”application/rss+xml“ title=”\xd0\x9d\xd0\xbe\xd0\xb2\xd0\xbe\xd1\x81\xd1\x82\xd0\xb8 \xd0\xaf\xd0\xbd\xd0\xb4\xd0\xb5\xd0\xba\xd1\x81\xd0\xb0“ href=”//company.yandex.ru/news/news.rss“><link rel=”alternate"
INFO:root:
INFO:root:Заголовок: \xd0\xaf\xd0\xbd\xd0\xb4\xd0\xb5\xd0\xba\xd1\x81
…
Записать текст с кирилицей\xd0\xaf\xd0\xbd\xd0\xb4\xd0\xb5\xd0\xba\xd1\x81
Отредактировано snake_eater (Ноя. 8, 2015 14:21:04)
Офлайн
253
snake_eaterНичего не надо делать (надо указать кодировку файла при открытии)
так что нужно сделать с re_title.search(s).group(1) ?
snake_eaterТак вы батенька сами эту фигню со страницы и вырезали. Не мастер в этом деле, но думаю вам помогут парсеры html ну например lxml.
а текст полученый с web-страницы превращается в какую то фигню
Офлайн
0
doza_and
Так вы батенька сами эту фигню со страницы и вырезали
Офлайн
0
разобрался - нужно указывать кодировку
s1 = str(content, encoding="utf-8") logging.info("Заголовок: " + re_title.search(s1).group(1))
s2 = content.decode("utf-8") logging.info("Заголовок: " + re_title.search(s2).group(1))
Офлайн
253
snake_eaterОтличною Рад за вас. Но кодировку лучше брать из html заголовка а не задавать ручками.
тогда все ок
Офлайн