我正在编码一个函数来解码我捕获的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中的所有网址,只有第一个。 有关如何获得所有这些的任何想法?
谢谢!
答案 0 :(得分:0)
当你返回某些内容时,这就是该功能的结束。而不是返回每个URL,将它们添加到列表中,然后在循环后返回列表
:)