Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Python and HTML, HTML обработка 
:(
    Опции темы
n1ke
Дата 6.3.2007, 21:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 3.12.2006

Репутация: нет
Всего: нет



Привет всем!
Значит есть HTML файл, например, такой:

Код

<html>
<body>
<teg> Test String </teg>
</body>
</html>


мне надо выбрать строку которая находится между тегами <teg> и </teg>, тоесть строка "Test String".
Я так понимаю ето надо делать через HTML-парсер (htmllib)?!

И ещё, если например у нас есть такой файл:

Код

<html>
<body>
<teg> Test String1 </teg>
<teg> Test String2 </teg>
<teg> Test String3 </teg>
<teg> Test String4 </teg>
</body>
</html>


Как мне поступить в ситуации если мне надо выбрать Test String3 ??
Заранее спасибо, всем удачи!
PM   Вверх
kulibinka
Дата 7.3.2007, 02:29 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 191
Регистрация: 20.11.2006

Репутация: 2
Всего: 4



забудь о парсерах.

просто напиши ф-ю, которая получает 2 фразы + текст и вырезает кусок из текста между этими двумя строчками, и будет тебе счастье.

если тебе ее не хватит - тогда и приступай к изучению парсеров.
PM MAIL   Вверх
Daevaorn
Дата 7.3.2007, 08:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: 9
Всего: 70



n1ke, я бы посоветовал любой из стандартных парсеров, лучше наверно DOM.
PM MAIL WWW   Вверх
rib
Дата 14.3.2007, 12:55 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 14.3.2007

Репутация: нет
Всего: нет



SGMLParser или HTMLParser как раз для таких задач. как пользоваться написано в dive into python
PM MAIL   Вверх
dvska
Дата 16.3.2007, 11:56 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 182
Регистрация: 30.1.2006

Репутация: 6
Всего: 9



BeautifulSoup тоже хорошая вещь ..
--------------------
PM MAIL   Вверх
nerezus
Дата 14.4.2007, 11:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 1
Всего: 43



Цитата

лучше наверно DOM
 С каких пор DOM умеет HTML?

Копать в сторону http://www.intuit.ru/department/sa/compilersdev/5/


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
kulibinka
Дата 15.4.2007, 22:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 191
Регистрация: 20.11.2006

Репутация: 2
Всего: 4



Цитата

Копать в сторону http://www.intuit.ru/department/sa/compilersdev/5/

не похоже, что n1ke решил свой собственный парсер написать - ему готовый инструмент для конкретной задачи нужен...

n1ke - послушай совета dvska, просто сделай все через BeautifulSoup smile
PM MAIL   Вверх
rgb
Дата 17.5.2007, 09:29 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 31.8.2006

Репутация: 1
Всего: 2



как-то пришлось решать подобную задачу - парсеры частенько валятся наткнувшись на тег <script>. пришлось писать свою функцию с использованием регулярных выражений.
PM MAIL ICQ   Вверх
Yurietc
Дата 6.8.2007, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 13.7.2007

Репутация: 1
Всего: 1



Код

import re
>>> st = '''<html>
<body>
<teg> Test String </teg>
</body>
</html>'''
>>> r = re.compile('<teg>(.*?)</teg>')
>>> r.findall(st)
[' Test String ']

PM MAIL   Вверх
Yurietc
Дата 6.8.2007, 16:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 13.7.2007

Репутация: 1
Всего: 1



Цитата

не похоже, что n1ke решил свой собственный парсер написать ...


А подробнее о написании парсеров ? Если можно - ссылки.
PM MAIL   Вверх
Daevaorn
Дата 6.8.2007, 23:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: 9
Всего: 70



BeautifulSoup справляется даже с невалидным html кодом.
PM MAIL WWW   Вверх
Yurietc
Дата 9.8.2007, 14:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 13.7.2007

Репутация: 1
Всего: 1



А где можно почитать про BeautifulSoup, кроме
http://www.crummy.com/software/BeautifulSo...l#Quick%20Start  ?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0843 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.