Python3如何对urllib和urllib2进行重构


Posted in Python onNovember 25, 2019

这篇文章主要介绍了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())

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

Python 相关文章推荐
跟老齐学Python之有容乃大的list(2)
Sep 15 Python
Python itertools模块详解
May 09 Python
Python数据操作方法封装类实例
Jun 23 Python
Python判断两个对象相等的原理
Dec 12 Python
Python常见工厂函数用法示例
Mar 21 Python
基于python 二维数组及画图的实例详解
Apr 03 Python
Python基于jieba库进行简单分词及词云功能实现方法
Jun 16 Python
Python批处理删除和重命名文件夹的实例
Jul 11 Python
python 使用值来排序一个字典的方法
Nov 16 Python
python版大富翁源代码分享
Nov 19 Python
jupyter 导入csv文件方式
Apr 21 Python
请求模块urllib之PYTHON爬虫的基本使用
Apr 08 Python
python pygame实现球球大作战
Nov 25 #Python
Python内置加密模块用法解析
Nov 25 #Python
python使用pygame实现笑脸乒乓球弹珠球游戏
Nov 25 #Python
Django项目基础配置和基本使用过程解析
Nov 25 #Python
nginx+uwsgi+django环境搭建的方法步骤
Nov 25 #Python
python找出列表中大于某个阈值的数据段示例
Nov 24 #Python
python对Excel按条件进行内容补充(推荐)
Nov 24 #Python
You might like
php实现图片添加描边字和马赛克的方法
2014/12/10 PHP
YII2框架中使用yii.js实现的post请求
2017/04/09 PHP
php设计模式之装饰模式应用案例详解
2019/06/17 PHP
php连接mysql数据库最简单的实现方法
2019/09/24 PHP
javascript在一段文字中的光标处插入其他文字
2007/08/26 Javascript
jQuery对象和DOM对象使用说明
2010/06/25 Javascript
jQuery Jcrop插件实现图片选取功能
2011/11/23 Javascript
JavaScript 用Node.js写Shell脚本[译]
2012/09/20 Javascript
JQuery处理json与ajax返回JSON实例代码
2014/01/03 Javascript
php析构函数的具体用法小结
2014/03/11 Javascript
js实现仿百度瀑布流的方法
2015/02/05 Javascript
Bootstrap自定义文件上传下载样式
2016/05/26 Javascript
AngularJS双向绑定和依赖反转实例详解
2017/04/15 Javascript
vue中component组件的props使用详解
2017/09/04 Javascript
微信小程序页面间传值与页面取值操作实例分析
2019/04/30 Javascript
微信小程序自定义可滑动顶部TabBar选项卡实现页面切换功能示例
2019/05/14 Javascript
Layui数据表格判断编辑输入的值,是否为我需要的类型详解
2019/10/26 Javascript
如何在面试中手写出javascript节流和防抖函数
2020/10/22 Javascript
[10:07]2014DOTA2国际邀请赛 实拍选手现场观战DK对阵Titan
2014/07/12 DOTA
python中string模块各属性以及函数的用法介绍
2016/05/30 Python
对Python中的@classmethod用法详解
2018/04/21 Python
解决pycharm运行时interpreter为空的问题
2018/10/29 Python
使用Python获取网段IP个数以及地址清单的方法
2018/11/01 Python
实例讲解CSS3中Transform的perspective属性的用法
2016/04/22 HTML / CSS
HTML5 Canvas画线技巧——实现绘制一个像素宽的细线
2013/08/02 HTML / CSS
HTML最新标准HTML5总结(必看)
2016/06/13 HTML / CSS
英国和世界各地预订便宜的酒店:LateRooms.com
2019/05/05 全球购物
世界汽车零件:World Car Parts
2019/09/04 全球购物
一套带网友答案的.NET笔试题
2016/12/06 面试题
好的演讲稿开场白
2013/12/30 职场文书
教师节促销活动方案
2014/02/14 职场文书
生产文员岗位职责
2014/04/05 职场文书
竞聘演讲稿精彩开头和结尾
2014/05/14 职场文书
nginx搭建图片服务器的过程详解(root和alias的区别)
2021/03/31 Servers
goland设置颜色和字体的操作
2021/05/05 Golang
golang为什么要统一错误处理
2022/04/03 Golang