我正在尝试在open
中使用Urllib2
的这种格式的URL列表:
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://
开头的网址又如何呢? 最佳答案
我建议只将http://
附加到字符串上,因为使用https://
方案的许多站点都会通过重定向请求自动切换到该字符串。
您可以使用urlopen
功能检查getcode()
返回的状态。
a=urllib2.urlopen("http://google.com")
print a.getcode() # prints 200
关于python - 正确的方法来修复没有http://的网址,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30354717/