Найти - Пользователи
Полная версия: Поиск символа в html файле.
Начало » Центр помощи » Поиск символа в html файле.
1
zds
Добрый день.

Подскажите, пожалуйста, как найти один едиственный символ на обычной html странице средствами языка python.
Этот символ идет перед абсолютно уникальным набором символов, например “”",5654);">панколпынваи-арвнпв“”"
В этом наборе символов могут присутствовать , ; ) " > - буквы кириллици, а также цифры
doza_and
zds
как найти один единственный символ
Непонятно спрашиваете.
Ну есть у вас открытая страница в броузере. Запустили вы свой скрипт. Что должно получиться?
Скрипт должен напечатать найденный символ? Напечатать позицию в html файле(а файла вообще говоря и нет)? В броузере должен выделиться этот символ? Если наборов символов в файле встречается много раз что тогда делать??? Какая кодировка html страницы и где ее взять?
python 2.x
?????????????
import re
print(re.search(ur"5654\);>панколпынваи-арвнпв(.)",open("a.html","r").read()).group(1))
zds
Спасибо за помощь, doza_and
Ну есть у вас открытая страница в броузере. Запустили вы свой скрипт. Что должно получиться?
Запустил скрипт. Открылась страница по ссылке с помощью urllib2 библиотеки. Скрипт выполняется дальше. Выдает ответом найденый символ. Выводит на экран или записывает в файл (это мне, наверное, по силам и самому сделать).
В броузере должен выделиться этот символ? Если наборов символов в файле встречается много раз что тогда делать???
Набор таких символов много раз встречаться не может - это точно. В браузере ничего выделять не нужно.
Какая кодировка html страницы и где ее взять?
Кодировка windows-1251, можно не барать ниоткуда, меняться она не будет.
python 2.x
?????????????
python 2.7

ur“5654\);>панколпынваи-арвнпв(.)”
Вы написали в коде искомую фразу, как видно выше. В конце фразы стоит точка в скобках (.)
Подскажите, пожалуйста, что эта точка в скобках означает. Это явно какое-то регулярное выражение.

Еще раз повторю условие. Нужно вывести символ Х с html страницы (открытой при помощи скрипта с использованием библиотеки urllib2). Символ Х может быть разным и идет сразу перед абсолютно уникальным набором символов, например (,5654);">панколпынваи-арвнпв). В этом наборе точно будут запятые, скобки, знак больше, точка с запятой, буквы, цифры, кавычки.

Спасибо еще раз за помощь.
doza_and
из
http://ivinside.blogspot.ru/2009/07/urllib2.html
чтение данных
import urllib2
response = urllib2.urlopen('http://ivinside.blogspot.com/')
content = response.read()
Для поиска использовались регулярные выражения. Если будете писать на питоне, то все равно их прийдется освоить.
http://docs.python.org/2/library/re.html
В данном случае точка означает любой символ. Когда выражения берется в скобки то данную часть текста можно будет потом извлечь при помощи group.
В вашем случае скорее будет проблема что текст содержит много символов которые по синтаксису регулярных выражений имеют специальное значение. Их все надо будет экранировать обратными слешами. \
py.user.next
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'
>>>
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB