2016-05-18 14 views
0

こんにちは私は初心者です。私はいくつかのWeiboアカウントのフォロワー数を取得しようとしています。 Weibo APIを使用しようとしましたが、Weiboアカウントの情報を取得できませんでした(アカウントではなく、資格情報を持っていません)。私が見たことから、WeiboはユーザーにさらなるAPIにアクセスするためにアプリケーションを提出するように要求します(従業員数の取得を含む)WebスクレイプWeibo Follower count by python

したがって、私はWeibo APIを使用する代わりにWebスクレイピングを使用しようとしました。しかし、私はそれほど意識していません。私はjsonのようなライブラリやウェブサイトからコンテンツを入手するためのリクエストを使用できることを知っています。私は、私はそれが今までのコードのためにどのように見えるかをプリントアウトしようとしたコンテンツ

from json import loads 
 
import requests 
 
username_weibo = ['kupono','xxx','etc'] 
 

 
def get_weibo_followers(username): 
 
    output = ['Followers'] 
 
    for user in username: 
 
     r = requests.get('https://www.weibo.com/'+user).content 
 
     html = r.encode('utf-8') 
 

 
    return r

を取得しstucked午前、と私が得ていることは言葉/文字の乱雑束があります。さらに、混乱しているFM.views(ページソースから)が多すぎます。

これまで私がこれまで行ってきたことはここにありますが、どのように続行するかはわかりません。誰でも手伝ってもらえますか?ありがとうございました。

答えて

1

こんにちは私はPythonと英語の初心者です:)私は同じことをやっていて、昨日やった。表示されるWeiboのページは、ブラウザのスクリプトによって作成されます。 。あなたが ライブラリ再で「.... FM.view(」のようなスクリプトからeverysingを抽出することができます

ログインした後、あなたはこれを行うことができます。

import re 
from urllib import parse 
reponse = session.get('http://weibo.com/u/xxxxxxxxx') 
#xxxxxxx is the account's ID.  
html_raw_data = parse.unquote(reponse.content.decode()) 
#url decode 
html_data = re.sub(r'\\'r'',html_raw_data) 
#backslash has Escaped two times,get the raw code 
follows_fans_articles_data = re.search(r'\[\'page_id\'\]=\'(\d+)',html_data,re.M) 
#follows_fans_articles_data.group(1) follows number (2) fans number (3) articles number