功能解码twitter短网址:如果有几个网址怎么办?

时间:2017-08-18 15:35:44

标签: python function twitter

我正在编码一个函数来解码我捕获的Twitter流中的Twitter短网址:

def decode_short_url(x):
    urls = re.findall('http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+', x)
    for short_url in urls:
        try:
            res = urllib.request.urlopen(short_url)
            actual_url = res.geturl()
            return(actual_url)
        except:
            return(short_url)

但是当我将它应用于包含多个链接的推文时:

tweets['urls'] = tweets['text'].apply(decode_short_url)

我没有得到我的新变量tweets.urls中的所有网址,只有第一个。 有关如何获得所有这些的任何想法?

谢谢!

1 个答案:

答案 0 :(得分:0)

当你返回某些内容时,这就是该功能的结束。而不是返回每个URL,将它们添加到列表中,然后在循环后返回列表

:)