【问题标题】:Convert short URL转换短网址
【发布时间】:2013-02-04 09:24:49
【问题描述】:

两天大的 Python(和编程)新手,所以请温柔一点。

我从 Twitter 上抓取了大约 1500 个缩短的 URL。它们都采用以下格式:http://t.co/...

用它来扩展短网址:

import urllib2  
a = urllib2.urlopen('http://t.co/..')  
print a.url

最后两行使用不同的 URL 重复了大约 1500 次。

只要 URL 指向的页面存在,它就可以正常工作,但是当它不存在时,会出现错误消息并在该点停止。我应该在代码中添加什么,以便它返回“找不到页面”并继续到下一个 URL 并不停地遍历整个列表。

【问题讨论】:

    标签: python web web-scraping


    【解决方案1】:

    假设您使用的是 python 2(python 3 的异常处理语法稍有不同)

    for url in urls:
        try:
            a = urllib2.urlopen(url)  
        except urllib2.HTTPError, e:
            print "Error", e
            continue
    
    ..... do something with a   
    

    【讨论】:

    • 非常感谢,我一放学回来就试试这个,告诉你进展如何。
    • 我猜我说得太早了,我仍然收到阻止进程完成的错误消息。有什么建议?这是我得到的,或者至少是错误消息的前几行: Traceback(最近一次调用最后):文件“/Users/Nanu/Documents/urltest.py”,第 969 行,在 a = urllib2 .urlopen(url) 文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py”,第 126 行,在 urlopen 返回 _opener.open(url, data, timeout)
    • URLError:
    • 那你也应该处理urllib2.URLError.
    • 我做到了,这就是我现在得到的。谢谢你的帮助。 NameError: 名称“a”未定义
    猜你喜欢
    • 1970-01-01
    • 2015-04-30
    • 1970-01-01
    • 2014-01-12
    • 1970-01-01
    • 1970-01-01
    • 2010-11-25
    • 2020-10-19
    • 2011-09-04
    相关资源
    最近更新 更多