我有一些facebook团体,我想得到成员的数量。这个组就是一个例子:https://www.facebook.com/groups/347805588637627/ 我查看了页面上的inspect元素,它存储如下:
<span id="count_text">9,413 members</span>
我正在努力获得&#34; 9,413名成员&#34;在页面外面。我尝试过使用BeautifulSoup,但无法解决这个问题。
由于
编辑:
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)
答案 0 :(得分:2)
如果页面中有多个span标记:
from bs4 import BeautifulSoup
soup = BeautifulSoup(your_html_input, 'html.parser')
span = soup.find("span", id="count_text")
span.text
答案 1 :(得分:0)
您可以使用已解析范围的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'
答案 2 :(得分:0)
Facebook使用javascrypt
来防止机器人抓取。您需要使用selenium
来提取python上的数据。
答案 3 :(得分:0)
如果您有多个span标签,可以尝试
from bs4 import BeautifulSoup
soup = BeautifulSoup(html, 'html.parser')
tags = soup('span')
for tag in tags:
print(tag.contents[0])