【问题标题】:Shortening URL in the t.co way以 t.co 方式缩短 URL
【发布时间】:2015-07-19 15:30:14
【问题描述】:

我必须检索包含指向某些 YouTube 视频的链接的推文。然而,Twitter 使用t.co URL-shortener 服务来缩短网址,因此如果用户发布以下链接https://www.youtube.com/watch?v=x6QZn9xiuOE,则该推文的内容类似于https://t.co/bYeHhy9kAU

因此,我不能使用原始 url,但我必须使用缩短的 url 运行查询。

如何获取从原始网址开始的t.co缩短网址?

【问题讨论】:

  • t.co/HdshdsHe的请求返回什么?服务器设置了哪些标头?
  • 这是上述 youtube 视频的缩短网址:t.co/bYeHhy9kAU
  • t.co 有公共 API 吗?如果没有,那你就不走运了。
  • 嗯,似乎唯一的解决方案是推特原始 URL,获取其缩短版本,然后运行查询。 :\

标签: python api url twitter url-shortener


【解决方案1】:

我解决了我的问题,方法是在我的时间线上发布原始 URL,然后阅读其缩短版本,最后使用缩短的 URL 运行查询。

这是我使用的 Python 代码:

twitter_api = twitter.Twitter(auth = auth)

# searching for tweets
video_list = ["HdwMY2Fa7G4","FuqLui0_EF8","ZLUSg1_-o4c",
"jvN5OwkwwmE","D2H839E2PIw","94wmdh23JsQ",
"MIXuXnnW4io","9Jo0uk9ewWQ","9eBHdFpmpHs",
"czr4nUEF77s","Q-P9ygH6T20","SWnXj8Nkpic",
"5IgvJ7mEl4c","grZPvHb0yA8","Gwk6FmiAKCo",
"vCub9qk4vTk","PX0qDfYNykc","HLz_4NVSO6c",
"rTB5kwmv9D4","gXwZ3dbIhjw"]

k = 0 # counter
for vid in video_list:
  k += 1
  # settings
  count = 10
  video_url = 'https://www.youtube.com/watch?v='+vid

  # tweet video URL in my timeline
  twitter_api.statuses.update(status = video_url)

  # retrieve shortened URL from my last tweet
  my_account = 'ibbessi'
  args = {'count' : 1}
  timeline = twitter_api.statuses.user_timeline(screen_name = my_account, **args)
  shortened_url = timeline[0]['text']
  print '# ', str(k), '\noriginal URL:', video_url, '\nshortened URL:', shortened_url, '\n'

  # search the shortened URL
  search_results = twitter_api.search.tweets(q = shortened_url, count = count)
  statuses = search_results['statuses']

  # output shortened URL
  print 'I have found ' + str(len(statuses)) + ' tweet(s) with video ' + shortened_url + '\n'
  for i in range(0,len(statuses)):
      print '#', str(i+1), '\nTEXT: ' , statuses[i]['text'], '\nUSER: ', statuses[i]['user']['name'], '\nRT COUNT: ', statuses[i]['retweet_count'], '\nDATE: ', statuses[i]['created_at'],'\n'

【讨论】:

  • 这真的有用吗?他们不会为每条新推文重新拉长每个 URL 吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-03-21
  • 2017-04-10
  • 2016-11-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多