Форум сайта python.su
Добрый день.
Подскажите, пожалуйста, как найти один едиственный символ на обычной html странице средствами языка python.
Этот символ идет перед абсолютно уникальным набором символов, например “”",5654);">панколпынваи-арвнпв“”"
В этом наборе символов могут присутствовать , ; ) " > - буквы кириллици, а также цифры
Офлайн
zdsНепонятно спрашиваете.
как найти один единственный символ
import re print(re.search(ur"5654\);>панколпынваи-арвнпв(.)",open("a.html","r").read()).group(1))
Отредактировано doza_and (Июнь 19, 2013 20:59:58)
Офлайн
Спасибо за помощь, doza_and
Ну есть у вас открытая страница в броузере. Запустили вы свой скрипт. Что должно получиться?Запустил скрипт. Открылась страница по ссылке с помощью urllib2 библиотеки. Скрипт выполняется дальше. Выдает ответом найденый символ. Выводит на экран или записывает в файл (это мне, наверное, по силам и самому сделать).
В броузере должен выделиться этот символ? Если наборов символов в файле встречается много раз что тогда делать???Набор таких символов много раз встречаться не может - это точно. В браузере ничего выделять не нужно.
Какая кодировка html страницы и где ее взять?Кодировка windows-1251, можно не барать ниоткуда, меняться она не будет.
python 2.xpython 2.7
?????????????
ur“5654\);>панколпынваи-арвнпв(.)”Вы написали в коде искомую фразу, как видно выше. В конце фразы стоит точка в скобках (.)
Отредактировано zds (Июнь 20, 2013 16:25:02)
Офлайн
из
http://ivinside.blogspot.ru/2009/07/urllib2.html
чтение данных
import urllib2 response = urllib2.urlopen('http://ivinside.blogspot.com/') content = response.read()
Офлайн
doza_and
Их все надо будет экранировать обратными слешами.
>>> re.escape(r'^$().') '\\^\\$\\(\\)\\.' >>>
zdsкодировка берётся из ответных заголовков
Кодировка windows-1251, можно не барать ниоткуда, меняться она не будет.
>>> import urllib2 >>> data = urllib2.urlopen('http://www.python.su') >>> data.headers.getheader('Content-Type') 'text/html; charset=utf-8' >>>
Отредактировано py.user.next (Июнь 21, 2013 05:41:54)
Офлайн