七、Python3中urlopen和requests.get() 方法的区别
1、urlopen
打开URL 网址,url参数可以是一个字符串url或一个Request对象;返回http.clientHTTPResponse 对象,包含一些常用函数:read()、readinto()、getheader()、getheaders()、fileno()及msg、version、status、reason、debuglevel和close属性。其中,read() 函数后需要decode()函数,返回的网页内容没有解码,在read()得到内容后通过encode()编码、再通过decode()使用对应的解码方式。
2、requests.get()
请求网站的网址,返回get和post都返回一个Response对象。这个对象中有服务器返回的所有信息:响应头、状态码等,返回的网页部分会存在.content和.text 两个对象中:
- content:返回字节码,二进制数据。有b' 标志
- text:返回Unicode型数据,存的是BeautifulSoup根据猜测的编码方式将content内容编码成字符串。
打印出返回结果类型、状态码、编码方式、Cookie等内容