繁体   English   中英

如何使用 Beautiful Soup 从按钮中提取文本?

[英]How do I extract text from a button using Beautiful Soup?

我正在尝试抓取 GoFundMe 信息,但似乎无法提取捐赠者的数量。

这是我正在尝试导航的 html。 我正在尝试检索 11.1K,

<ul class="list-unstyled m-meta-list m-meta-list--default">
  <li class="m-meta-list-item">
    <button class="text-stat disp-inline text-left a-button a-button--inline" data-element- 
    id="btn_donors" type="button" data-analytic-event-listener="true">
      <span class="text-stat-value text-underline">11.1K</span>&nbsp;
        <span class="m-social-stat-item-title text-stat-title">donors</span>

我试过使用

donors = soup.find_all('li', class_ = 'm-meta-list-item')
for donor in donors:
  print(donor.text)

类/按钮似乎隐藏在另一个 class 中? 我怎样才能提取它?

我是 beautifulsoup 的新手,但使用过 selenium 相当多。

提前致谢。

这些筹款页面都有类似的 html 并且该值是动态检索的。 我建议使用 selenium 和 css class 选择器

from selenium import webdriver

d = webdriver.Chrome()
d.get('https://www.gofundme.com/f/treatmentforsiyona?qid=7375740208a5ee878a70349c8b74c5a6')
num = d.find_element_by_css_selector('.text-stat-value').text
print(num)
d.quit()

了解有关 selenium 的更多信息:

https://sqa.stackexchange.com/a/27856

获取 id gofundme.com/f/{THEID}并致电 API

/web-gateway/v1/feed/THEID/donations?sort=recent&limit=20&offset=20

处理数据

for people in apiResponse['references']['donations']
    print(people['name'])

使用浏览器控制台查找主机 API。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM