2016-07-07 4 views
1

Это для Python 3.5.x Что я ищу это найти заголовок, после peice в HTML код будучиИзвлечение и форматирование данных сайта Python

<h3 class = "title-link__title"><span class="title=link__text">News Here</span> 

with urllib.request.urlopen('http://www.bbc.co.uk/news') as r: 
    HTML = r.read() 
    HTML = list(HTML) 
    for i in range(len(HTML)): 
     HTML[i] = chr(HTML[i]) 

Как я могу получить его так Я извлекаю только заголовок, потому что это все, что мне нужно. Во всяком случае, я попробую и помогу в деталях.

+0

Вы пытались использовать регулярное выражение? Кроме того, возможно, вам захочется уточнить, что вы надеетесь, что программа извлечет из вышеуказанного HTML. –

+0

Спасибо, но у меня есть работа с использованием BeautifulSoup, и я искал заголовки, которые часто менялись. –

ответ

1

Получение информации с веб-страниц называется web scraping.

Одним из лучших инструментов для этой работы является библиотека BeautifulSoup.

from bs4 import BeautifulSoup 
import urllib 

#opening page 
r = urllib.urlopen('http://www.bbc.co.uk/news').read() 
#creating soup 
soup = BeautifulSoup(r) 

#useful for understanding the layout of your page info 
#print soup.prettify() 

#creating a ResultSet with all h3 tags that contains a class named 'title-link__title' 
a = soup.findAll("h3", {"class":"title-link__title"}) 

#counting ocurrences 
len(a) 
#result = 44 

#get text of first header 
a[0].text 
#result = u'\nMay v Leadsom to be next UK PM\n' 

#get text of second header 
a[1].text 
#result = u'\nVideo shows US police shooting aftermath\n' 
Смежные вопросы