2017-10-16 38 views
0

ロシアのソーシャルネットワークであるVkontakteのページからフォロワー数を抽出しようとしています。私がPythonの完全な初心者であるため、私はStackOverflowで最初に発見したコードを使用して、Twitterでフォロワー数を抽出しようとしました。ここでは、元のコードは次のとおりです。PythonとBeautifulSoupを使用してVkontakteからフォロワー番号を抽出します

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) 

私は例として、このWebページを使用しています: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」、唯一の版画「なし」を見つけようとし、例えば(試した他の多くのバリエーションそれはBeautifulSoupができないようです。フォロワーがカウント見つけて、私は理由を理解するためにsttrugglingよ、私はフォロワー数を印刷することができた唯一の方法はこれである:。

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

しかし、これは私が望むよりもはるかに多くのものを印刷して、Iドンフォロワー数だけを取得する方法は分かりません。

+0

Twitterは、このような解析を許可していません。あなたが望むものを得るためにTwitterのAPIを使用してください – MohitC

答えて

0

これを試してください。フォロワー数だけを取得します。あなたがしなければならないことは、要素を検査することによって見ることができる正確なページソースをつかむためにセレンを使うことだけです。

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 
+0

ありがとう、完璧に動作します。 – Pelo

関連する問題