python获取网页内容
python的版本向下兼容性比较差,不像Java那样,在2.X版本中能用的在3.X版本中就用不了了。
比如以下获取网页内容的例子,如果是在2.x版本中:
import urllib2 response = urllib2.urlopen('http://www.jb200.com') html = response.read() print html
但在3.X版本中,这样是行不通的,原因查到是在3.X版本中,用urllib.request代替了urllib2,在python3之后,不能再用urllib2了,所以正确的写法应当是:
import urllib.request resp=urllib.request.urlopen(‘http://www.jb200.com’) html=resp.read() print(html)
注,在上面读取操作中,往往要对结果进行解码,如果想要得到一个字符串结果,就像这样:
return html.decode(‘utf-8′)
否则,如果将返回结果当做字符串,可能会报错:
TypeError: Can’t convert ‘bytes’ object to str implicitly
现在使用的是3.3.4,想使用比较新的版本吧,结果总是会碰到一些版本差异所导致的问题。