2016-05-17 3 views
0

IDで指定したさまざまなアカウントのTwitterユーザー名をプルして表示します。私は、これを部分的にはwgetで行うことができると考えました。wgetデータから情報を引き出す

echo what id would you like to search 
read ID 
wget https://twitter.com/intent/user?user_id=$ID > ~/temp/$ID 

これは実際には私がそれからデータを引き出す方法を理解することができないほどです。私はこれを試しました。

read ID 
source ~/temp/$ID 
echo $value 

「値」とラベル付けされたもの(ユーザー名は「値」として複数回ラベル付けされます)をエコーし​​ます。

例: スタックオーバーフローのTwitterアカウントは@stackoverflowあり、そして彼らのTwitterのIDは次のとおりです。128700677だから私は

wget https://twitter.com/intent/user?user_id=128700677 

を実行することができますし、文書が素敵な248ラインの長いHTMLドキュメントになります、あなたはそれを試すことができます見てください。だから、基本的には、いずれかのスクリプトを持って行くと、最も一般的な値を見つける=「」または単に<title></title>on Twitter

PSなし/表示<title>Stack Overflow (@StackOverflow) on Twitter</title>に行く方法があります:このカウントはブートストラップとしてのでしょうか?

EDIT ----------------------------- 私はすでにシステムを持っているので、これはbashで動作する必要がありますbashで設定します。これはちょうど@を確認するのに役立ちます

+0

よく定義されたjsonを取得するには[twitter API](https://dev.twitter.com/rest/public)を使用してください。 –

+0

apiを使用する方法はわかりません。既にbashスクリプト全体が書かれています。これは、視聴者の明快さに役立ちます。 – Matt

答えて

3

それは他の男が言ったように、それを見つけるためにTwitter APIを使用する方が良いでしょう。ただし、href='/intent/user?screen_name=StackOverflow'のような文字列をフィルタリングし、最初の文字列でscreen_name=部分の後に何を抽出するために

wget -O - "https://twitter.com/intent/user?user_id=${ID}" | grep -Po "(?<=screen_name=).*(?=')" | head -n 1 

のように、少しさらにあなたの方法を試してみて、プッシュすることができます。

P.S.私はvalue=がhtmlで気付かず、正直なところ、htmlのようなものをあなたのスクリプトに入れておくのが最善の方法ではありません。

1

screen_nameがでフェッチすることができます

read -r ID ;\ 
screen_name=$(wget -q -O - http://twitter.com/intent/user?user_id="$ID" | sed -n 's/^.*button follow".*screen_name=\([^"]*\)".*$/\1/p') 
printf "%s\n" "$screen_name" 

nicknameがでフェッチすることができます

read -r ID ;\ 
nickname=$(wget -q -O - https://twitter.com/intent/user?user_id=128700677 | sed -n 's/^.*"nickname">\([^<]*\)<.*$/\1/p') 
printf "%s\n" "$nickname" 

titleがでフェッチすることができます

read -r ID ;\ 
title=$(wget -q -O - https://twitter.com/intent/user?user_id=128700677 | sed -n 's/^.*<title>\(.*\) on Twitter<.title>.*$/\1/p') 
printf "%s\n" "$title" 

のREST APIの音の使用良いアイデアです

関連する問題