python span 抓取_python – Beautifulsoup获取span内容

我已经解析了html页面:使用beautifulsoup

user_page = urllib2.urlopen(user_url)

souping_page = bs(user_page)

badges = souping_page.body.find('div', attrs={'class': 'badges'})

在此之后我的徽章对象看起来像这样:

93856

现在我想从中提取示例9金徽章,38个银徽章,我试图使用badges.span.span但这不起作用.

解决方法:

从徽章获取父级跨度,使用带有recursive = False的find_all()查找内部的所有顶级跨度:

from bs4 import BeautifulSoup

page = """

9

38

56

"""

soup = BeautifulSoup(page)

badges = soup.body.find('div', attrs={'class': 'badges'})

for span in badges.span.find_all('span', recursive=False):

print span.attrs['title']

打印:

9 gold badges

38 silver badges

56 bronze badges

希望有所帮助.

标签:python,html-parsing,beautifulsoup,html

你可能感兴趣的:(python,span,抓取)