当前位置:  开发笔记 > 编程语言 > 正文

Python3如何对urllib和urllib2进行重构

这篇文章主要介绍了Python3如何对urllib和urllib2进行重构,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

这篇文章主要介绍了Python3如何对urllib和urllib2进行重构,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

python3对urllib和urllib2进行了重构,拆分成了urllib.request,urllib.response, urllib.parse, urllib.error等几个子模块,这样的架构从逻辑和结构上说更加合理。urllib库无需安装,python3自带。python 3.x中将urllib库和urilib2库合并成了urllib库。 其中

  • urllib2.urlopen() 变成了 urllib.request.urlopen()
  • urllib2.Request() 变成了 urllib.request.Request()
  • python2中的 cookielib 改为 http.cookiejar.
  • import http.cookiejar 代替 import cookielib
  • urljoin 现在对应的函数是 urllib.parse.urljoin

代码如下

import urllib.request
import http.cookiejar

url ="http://www.baidu.com"

print ('第一种方法')
response1=urllib.request.urlopen(url)
print (response1.getcode())
print (len(response1.read()))

print ('第二种方法')
request=urllib.request.Request(url)
request.add_header("user-agent","Mozilla/5.0")#将爬虫伪装成浏览器
response2=urllib.request.urlopen(request)
print (response2.getcode())#打印状态码
print (len(response2.read()))#打印内容长度

print ('第三种方法')
cj = http.cookiejar.CookieJar()
opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj))
urllib.request.install_opener(opener)
response3=urllib.request.urlopen(url)
print (response1.getcode())
print (cj)  #输出cookie
print (response1.read())

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

推荐阅读
落单鸟人
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有