正确的方法来修复url没有http://.



我正在尝试open此格式的url列表,在Urllib2中使用:

google.com
facebook.com
youtube.com
yahoo.com
baidu.com

使用此方法:

urllib2.urlopen(url):

得到这个错误:

File "fetcher.py", line 98, in fetch_urls_and_save
  response = urllib2.urlopen(url)
File "urllib2.py", line 154, in urlopen
  return opener.open(url, data, timeout)
File "urllib2.py", line 423, in open
  protocol = req.get_type()
File "urllib2.py", line 285, in get_type
  raise ValueError, "unknown url type: %s" % self.__original

那么,我的问题是:

是否有一个适当的方法来"修复"这些url,或者我应该简单地在每个字符串前面附加http:// ?我不认为这将是最好的解决方案,因为以https://开头的url怎么办?

我建议只是将http://附加到字符串,因为许多使用https://方案的站点通过重定向请求自动切换到它。

可以通过getcode()函数查看urlopen返回的状态。

a=urllib2.urlopen("http://google.com")
print a.getcode() # prints 200

相关内容

  • 没有找到相关文章

最新更新