【问题标题】:Python: Faster method for expanding shortened URLsPython:扩展缩短 URL 的更快方法
【发布时间】:2015-02-12 22:48:01
【问题描述】:

我正在从推文中提取数百个 URL。大多数这些 URL 都被 bit.ly 等外部服务缩短了,我需要扩展它们以进行比较。现在我正在使用上一篇文章中的方法:How can I unshorten a URL using python?我的代码如下:

r = requests.head(url)
if r.status_code / 100 == 3:
    expanded_url = r.headers['Location']
else:
    expanded_url = r.url

大多数 URL 扩展只需不到 3 秒的时间,但对于如此庞大的 URL 集,它会很快加起来。有没有更快的方法来做到这一点?

【问题讨论】:

  • 您不认为延迟更可能是由于服务提供商而不是您的 Python 代码吗? IMVHO 唯一可行的路径是多路复用,但正确拼写是我对多路复用的知识的限制,对不起......

标签: python performance tweepy


【解决方案1】:

我建议看看https://docs.python.org/2/library/threading.html 模块。延迟可能不是您的代码,而是您要连接的服务器。这将允许您拨打电话,而不必等待响应再拨打下一个电话。

【讨论】:

    【解决方案2】:

    检查缩短服务的 API。其中一些提供批处理服务,bit.ly 可以根据this page 发送最多 15 个 url 以扩展一次呼叫。

    使用 /v3/lookup、/v3/expand 和 /v3/clicks 端点在一次 API 调用中最多可以处理 15 个 URL。

    【讨论】:

      猜你喜欢
      • 2015-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-02
      相关资源
      最近更新 更多