美丽的汤爬满了蟒蛇

时间:2014-12-29 06:14:50

标签: python html beautifulsoup

嗨我在抓取标签中的某些内容时有疑问。  通过bs4,我可以在下面的div标签之前联系。  但我真正需要的是data-lat和data-lng。那些不是文本所以我不能使用get_text()和  我不确定bs4中的哪个辅助函数可以提取标记中的内部数据。

<div id="map" class="main_content embedded-content" data-lat="37.542560322393925" 
 data-lng="127.01606371950948">

1 个答案:

答案 0 :(得分:5)

您可以选择div元素,然后通过attrs属性

获取其所有属性
>>> from bs4 import BeautifulSoup
>>> 
>>> html = """<div id="map" class="main_content embedded-content" data-lat="37.542560322393925"  data-lng="127.01606371950948">"""
>>> soup = BeautifulSoup(html)
>>> div  = soup.find("div", id = 'map')
>>> div.attrs
{'data-lng': '127.01606371950948', 'data-lat': '37.542560322393925', 'id': 'map', 'class': ['main_content', 'embedded-content']}
>>> div.attrs.get('data-lng',0.0)
'127.01606371950948'
>>> div.attrs.get('data-lat',0.0)
'37.542560322393925'