URL разбора Python после строки - PullRequest
1 голос
/ 01 марта 2010

Я хочу извлечь строку из URL (ссылка). Эта строка находится в теге <h3></h3>.

 link = http://www.test.com/page.html

 Content of link: <h3>Text here</h3>

Каким будет элегантный способ сначала получить контент / исходный код page.html, а затем извлечь ссылку? Спасибо!

Ответы [ 4 ]

2 голосов
/ 01 марта 2010

Я бы порекомендовал Красивый суп . Это хороший парсер для испорченных HTML-страниц (в большинстве случаев вам не нужно беспокоиться о неправильной форме страницы).

1 голос
/ 01 марта 2010
import urllib2
url="http://www.test.com/page.html"
page=urllib2.urlopen(url)
data=page.read()
for item in data.split("</h3>"):
    if "<h3>" in item:
         print item.split("<h3>")[1]
1 голос
/ 01 марта 2010

Вы можете использовать URLLib2 для получения содержимого URL:

http://docs.python.org/library/urllib2.html

Затем вы можете использовать анализатор HTML в библиотеках Python, чтобы найти нужный контент:

http://docs.python.org/library/htmlparser.html

0 голосов
/ 01 марта 2010

При условии, что вы хотите использовать текст <h3> на странице, попробуйте:

from urllib2 import urlopen
from re import search
text = search(r'(?<=<h3>).+?(?=</h3>)', urlopen(link).read()).group(0)

Если имеется несколько строк <h3> в оболочке, вы можете добавить больше деталей в шаблон или использовать re.finditer() / re.findall()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...