使用BeautifulSoup获取跨度标记值

2024-04-27 17:31:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我有很多facebook群组,我想知道它们的成员数量。例如这个组:https://www.facebook.com/groups/347805588637627/ 我看过页面上的inspect元素,它的存储方式如下:

<span id="count_text">9,413 members</span>

我想把“9413个成员”从页面中删除。我试过用美容师组,但没办法解决。

谢谢

编辑:

from bs4 import BeautifulSoup
import requests

url = "https://www.facebook.com/groups/347805588637627/"
r  = requests.get(url)
data = r.text
soup = BeautifulSoup(data, "html.parser")
span = soup.find("span", id="count_text")
print(span.text)

Tags: texthttpsimportcomidurlfacebookwww
3条回答

Facebook使用javascrypt来防止机器人程序被抓取。您需要使用selenium在python上提取数据。

如果页面中有多个跨度标记:

from bs4 import BeautifulSoup
soup = BeautifulSoup(your_html_input, 'html.parser')
span = soup.find("span", id="count_text")
span.text

您可以使用解析的跨度的text属性:

>>> from bs4 import BeautifulSoup
>>> soup = BeautifulSoup('<span id="count_text">9,413 members</span>',   'html.parser')
>>> soup.span
<span id="count_text">9,413 members</span> 
>>> soup.span.text
'9,413 members'

相关问题 更多 >