很抱歉,如果之前已经解决了这个问题,但我找不到任何先前的解决方法。我正在使用Pandas从URL中提取域并计算结果。有没有办法根据URL是否是短链接(如bit.ly和goo.gl)来分配布尔值?可以使用urllib.urlopen来验证链接是否是一个短链接?
这是伪Python,希望能说明我正在尝试做什么:
if urllib.urlopen(df['url']) != df['url']:
df['short_url'] = True
else:
df['short_url'] = False
答案 0 :(得分:1)
基本上是一个"短网址"是一个门面网址,只是重定向到最终网址。所以你可以使用urllib2中的getUrl方法。
geturl() - 返回常用的检索资源的URL 确定是否遵循重定向
WHERE
当然这有一个缺陷,因为任何网址都可以是重定向...而不仅仅是网址缩短服务的短网址(如goo.gl或tinyrl)。
如果您确实需要100%确定,那么您可能需要针对已知的网址缩短服务域进行网址的正则表达式测试。您可能需要做一些事情的组合以满足您的要求。