【问题标题】:beautiful soup crawling with python用蟒蛇爬行的美丽汤
【发布时间】:2014-12-29 14:23:16
【问题描述】:

您好,我在抓取标签中的一些内容时有疑问。 通过 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">

【问题讨论】:

    标签: python html beautifulsoup


    【解决方案1】:

    可以选择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'
    

    【讨论】:

    • 或者,更简单的,div.get('data-lng',0.0)
    最近更新 更多