2012-05-09 4 views
1
import urllib2 
from BeautifulSoup import BeautifulSoup 

result = urllib2.urlopen("http://www.bbc.co.uk/news/uk-scotland-south-scotland-12380537") 
html=result.read() 
soup= BeautifulSoup(html) 
print soup.html.head.title 

print soup.findAll('div', attrs={ "class" : "story-body"}) 

Проблема заключается в том, что информация, которую я хочу, находится в сюжетном корпусе, но она находится на самом дне. Так что я получаю массу информации о нежелательной информации, пока не доберусь до нее.Фильтровать результаты, используя findAll в beautifulsoup

print soup.findAll('p', attrs={ 'class' : "introduction"}) 

только получает меня первый <p> есть 8 больше, чтобы собрать в этом примере

Так смотрит собрать в от начала введения до конца сюжетного тела ... Есть идеи?

ответ

1

В терминах CSS селекторов, вы хотите, чтобы выбрать все элементы p в .story-body:

print soup.select('.story-body p') 

http://www.crummy.com/software/BeautifulSoup/bs4/doc/index.html?highlight=select#css-selectors

+0

не ..you're с помощью Beautiful Soup 4, вы? – thirtydot

+0

Хорошая ссылка спасибо – aromamode

+0

Нет, не в этом примере, думая, что я перееду на него завтра – aromamode

Смежные вопросы