使用 Twitter API 提取原始推文数据而不缩短 t.co link
Extracting raw Tweet data with Twitter API without shortened t.co link
我正在学习通过 Tweepy 使用 Twitter API。我想要提取原始推文数据的帮助——这意味着没有缩短的 URL。例如,This Tweet 显示 YouTube link,但当被 API 解析时,打印 t.co link。如何打印显示的文本?感谢您的帮助。
注意:我和this question有类似的担忧,但不一样。
函数代码:
def get_tweets(username):
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_key, access_secret)
# Call api
api = tweepy.API(auth)
tweets = api.user_timeline(screen_name=username)
# Empty Array
tmp=[]
# create array of tweet information: username,
# tweet id, date/time, text
tweets_for_csv = [tweet.text for tweet in tweets] # CSV file created
for j in tweets_for_csv:
# Append tweets to the empty array tmp
tmp.append(j)
dict1 = {}
punctuation = '''`~!@#$%^&*(){}[];:'".,\/?'''
tmps = str(tmp)
for char in tmps:
if char in punctuation:
tmps = tmps.replace(char," ")
tmps2 = tmps.split(" ")
a = 0
while a < len(tmps2):
for b in tmps2:
dict1[a] = b
a += 1
Twitter 的 API returns 未经任何解析的原始推文数据。此数据包括缩短的 URLs,因为这是推文的表示方式。 Twitter 本身只是简单地解析并显示原始 URL。 link本身甚至还是缩短的。
Tweet objects have an entities
attribute, which provides an entities object with a urls
field that is an array of URL objects,表示推文文本中包含的 URL,如果不存在 link,则为空数组。每个 URL 对象都包含一个 display_url
字段,其中原始 URL pasted/typed 进入推文和一个 indices
字段,它是一个整数数组,表示推文中的偏移量URL 开始和结束的文本。您可以使用这些字段来替换缩短的 URL.
我正在学习通过 Tweepy 使用 Twitter API。我想要提取原始推文数据的帮助——这意味着没有缩短的 URL。例如,This Tweet 显示 YouTube link,但当被 API 解析时,打印 t.co link。如何打印显示的文本?感谢您的帮助。
注意:我和this question有类似的担忧,但不一样。
函数代码:
def get_tweets(username):
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_key, access_secret)
# Call api
api = tweepy.API(auth)
tweets = api.user_timeline(screen_name=username)
# Empty Array
tmp=[]
# create array of tweet information: username,
# tweet id, date/time, text
tweets_for_csv = [tweet.text for tweet in tweets] # CSV file created
for j in tweets_for_csv:
# Append tweets to the empty array tmp
tmp.append(j)
dict1 = {}
punctuation = '''`~!@#$%^&*(){}[];:'".,\/?'''
tmps = str(tmp)
for char in tmps:
if char in punctuation:
tmps = tmps.replace(char," ")
tmps2 = tmps.split(" ")
a = 0
while a < len(tmps2):
for b in tmps2:
dict1[a] = b
a += 1
Twitter 的 API returns 未经任何解析的原始推文数据。此数据包括缩短的 URLs,因为这是推文的表示方式。 Twitter 本身只是简单地解析并显示原始 URL。 link本身甚至还是缩短的。
Tweet objects have an entities
attribute, which provides an entities object with a urls
field that is an array of URL objects,表示推文文本中包含的 URL,如果不存在 link,则为空数组。每个 URL 对象都包含一个 display_url
字段,其中原始 URL pasted/typed 进入推文和一个 indices
字段,它是一个整数数组,表示推文中的偏移量URL 开始和结束的文本。您可以使用这些字段来替换缩短的 URL.