使用Python&提取来自Vkontakte的追随者数字。 BeautifulSoup

时间:2017-10-16 15:27:11

标签: python twitter beautifulsoup

我正试图从俄罗斯社交网络Vkontakte的页面中提取追随者数量。由于我是Python的初学者,我尝试使用我在StackOverflow上发现的代码,最初用于在Twitter上提取关注者计数。这是原始代码:

from bs4 import BeautifulSoup
import requests
username='realDonaldTrump'
url = 'https://www.twitter.com/'+username
r = requests.get(url)
soup = BeautifulSoup(r.content, "html.parser")

f = soup.find('li', class_="ProfileNav-item--followers")
print(f)

我正在使用此网页作为示例:https://vk.com/msk_my。这是我的代码:

from bs4 import BeautifulSoup
import requests
url = 'https://vk.com/msk_my'
r = requests.get(url)
soup = BeautifulSoup(r.content, "html.parser")
f = soup.find('span', class_="header_count fl_l")
print(f)

这个,以及我尝试过的许多其他变体(例如,试图找到“div”而不是“span”,只打印“None”。看起来BeautifulSoup找不到跟随者数,我就是挣扎着理解为什么。我设法打印追随者计数的唯一方法是:

text = soup.div.get_text()
print(text)

但这会打印出比我想要的更多的东西,而且我不知道如何只获得追随者数量。

1 个答案:

答案 0 :(得分:0)

试试这个。它只会追随你的追随者数量。您所要做的就是使用selenium来获取通过检查元素可以看到的确切页面源。

from bs4 import BeautifulSoup
from selenium import webdriver

driver = webdriver.Chrome()
driver.get('https://vk.com/msk_my')
soup = BeautifulSoup(driver.page_source,"lxml")
driver.quit()
item = soup.select(".header_count")[0].text
print("Followers: {}".format(item))

结果:

Followers: 59,343