TweepyとPythonを使用して、Twitterから完全に拡張された1000個のURIを抽出しようとしています。具体的には、私はTwitterの外に向かうリンクに興味があります(他のつぶやき/リツイート/重複には戻っていません)。TweepyとPythonを使用してTwitterから1000個のURIを抽出する
私が書いたコードでは、「エンティティ」のキーエラーが表示され続けます。
壊す前に私にいくつかのURLを与えます。いくつかは拡張され、いくつかは拡張されません。私はこれを修正する方法を知りません。
お願いします!
注:私は自分の資格情報を残しました。ここで
が私のコードです:
# Import the necessary methods from different libraries
import tweepy
from tweepy.streaming import StreamListener
from tweepy import OAuthHandler
from tweepy import Stream
import json
# Variables that contains the user credentials to access Twitter API
access_token = "enter token here"
access_token_secret = "enter token here"
consumer_key = "enter key here"
consumer_secret = "enter key here"
# Accessing tweepy API
# api = tweepy.API(auth)
# This is a basic listener that just prints received tweets to stdout.
class StdOutListener(StreamListener):
def on_data(self, data):
# resource: http://code.runnable.com/Us9rrMiTWf9bAAW3/how-to- stream-data-from-twitter-with-tweepy-for-python
# Twitter returns data in JSON format - we need to decode it first
decoded = json.loads(data)
# resource: http://socialmedia-class.org/twittertutorial.html
# Print each tweet in the stream to the screen
# Here we set it to stop after getting 1000 tweets.
# You don't have to set it to stop, but can continue running
# the Twitter API to collect data for days or even longer.
count = 1000
for url in decoded["entities"]["urls"]:
count -= 1
print "%s" % url["expanded_url"] + "\r\n\n"
if count <= 0:
break
def on_error(self, status):
print status
if __name__ == '__main__':
# This handles Twitter authetification and the connection to Twitter Streaming API
l = StdOutListener()
auth = OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
stream = Stream(auth, l)
# This line filter Twitter Streams to capture data by the keyword: YouTube
stream.filter(track=['YouTube'])
まずは、インターネット上でプライベートキーを共有しないでください。あなたの認証資格情報が侵害され、鍵を再生成する必要があります。あなたの質問に関しては、「デコードされた」オブジェクトがどのように見えるかわからないので、問題を解決する方法を知ることは難しいです。デコードされた最初の項目を出力し、スクリプトを停止する必要があります。 '' 'print(デコードされた[0])' 'オブジェクトを検査する - エンティティのプロパティはありますか? –
おっと!それをするつもりはありませんでした。ありがとうございました!どのように見えるのですか? –