【问题标题】:Beautifulsoup getting attributes following class nameBeautifulsoup 在类名之后获取属性
【发布时间】:2017-02-25 02:36:50
【问题描述】:

我先说我对美汤比较陌生。我理解以下行:

soup.find_all('div', class_ = 'favorite_links')[0] 

会给我第一个 div 标签的全部内容,其中 class= 收藏链接。但是我真正想要的是紧挨类名右侧的文本:

    <div class="favorite-links" data-can-favorite="" data-id="10820653">
</div>

我希望得到的是 data-id 之后的数字。有没有办法做到这一点?我绝对可以使用字符串操作来做到这一点,但我想知道是否有办法专门使用 BeautifulSoup 来做到这一点

对于我糟糕的术语,请提前道歉。正如我之前所说,我对 BeautifulSoup 比较陌生。

谢谢!

【问题讨论】:

    标签: python-2.7 web-scraping beautifulsoup


    【解决方案1】:
    soup.find_all('div', class_="favorite-links")[0]['data-id']
    

    【讨论】:

    • 谢谢,有没有办法将它合并到列表理解中,以便我获得 html 中的所有数据 ID?
    • 我的尝试不起作用:[t for t in soup.find_all(class_='favorite-links')[t]['data-id']]
    • [a['data-id'] for a in soup.find_all('div', class_="favorite-links")
    • 啊,明白了,这个实现很有意义!谢谢!
    猜你喜欢
    • 2016-09-19
    • 2018-11-05
    • 2010-09-14
    • 2021-05-21
    • 2013-09-14
    • 2015-08-28
    • 2017-06-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多