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之画圈还不简单吗?
Sep 20 Python
python单例模式实例分析
Apr 08 Python
Windows下Python的Django框架环境部署及应用编写入门
Mar 10 Python
Python管理Windows服务小脚本
Mar 12 Python
Python3+django2.0+apache2+ubuntu14部署网站上线的方法
Jul 07 Python
python 多线程将大文件分开下载后在合并的实例
Nov 09 Python
python主线程与子线程的结束顺序实例解析
Dec 17 Python
关于Pytorch的MNIST数据集的预处理详解
Jan 10 Python
解决Django部署设置Debug=False时xadmin后台管理系统样式丢失
Apr 07 Python
python3.6.8 + pycharm + PyQt5 环境搭建的图文教程
Jun 11 Python
Python Django中间件使用原理及流程分析
Jun 13 Python
Windows环境下Python3.6.8 importError: DLLload failed:找不到指定的模块
Nov 01 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
建立文件交换功能的脚本(一)
2006/10/09 PHP
PHP调用VC编写的COM组件实例
2014/03/29 PHP
PHP二维数组排序简单实现方法
2016/02/14 PHP
在Mac OS的PHP环境下安装配置MemCache的全过程解析
2016/02/15 PHP
PHP Callable强制指定回调类型的方法
2016/08/30 PHP
Zend Framework分发器用法示例
2016/12/11 PHP
asp javascript 实现关闭窗口时保存数据的办法
2007/11/24 Javascript
网页自动跳转代码收集
2009/09/27 Javascript
Jquery 常用方法经典总结
2010/01/28 Javascript
JS匀速运动演示示例代码
2013/11/26 Javascript
使用cluster 将自己的Node服务器扩展为多线程服务器
2014/11/10 Javascript
深入理解JavaScript系列(30):设计模式之外观模式详解
2015/03/03 Javascript
js操作css属性实现div层展开关闭效果的方法
2015/05/11 Javascript
javascript实现textarea中tab键的缩排处理方法
2015/06/26 Javascript
JS基于面向对象实现的拖拽库实例
2015/09/24 Javascript
jquery转盘抽奖功能实现
2015/11/13 Javascript
jQuery加密密码到cookie的实现代码
2017/04/18 jQuery
Vue 自定义动态组件实例详解
2018/03/28 Javascript
Koa2 之文件上传下载的示例代码
2018/03/29 Javascript
create-react-app使用antd按需加载的样式无效问题的解决
2019/02/26 Javascript
详解vue中v-bind:style效果的自定义指令
2020/01/21 Javascript
Python使用函数默认值实现函数静态变量的方法
2014/08/18 Python
python实现简单温度转换的方法
2015/03/13 Python
详解Python中的strftime()方法的使用
2015/05/22 Python
Python3.x对JSON的一些操作示例
2017/09/01 Python
Python实现数据可视化看如何监控你的爬虫状态【推荐】
2018/08/10 Python
python在新的图片窗口显示图片(图像)的方法
2019/07/11 Python
django实现日志按日期分割
2020/05/21 Python
如何理解python面向对象编程
2020/06/01 Python
python调用jenkinsAPI构建jenkins,并传递参数的示例
2020/12/09 Python
canvas进阶之如何画出平滑的曲线
2018/10/15 HTML / CSS
篮球比赛策划方案
2014/06/05 职场文书
学校火灾防控方案
2014/06/09 职场文书
逃课打麻将检讨书
2014/10/05 职场文书
大学生实习证明
2015/06/16 职场文书
培根随笔读书笔记
2015/07/01 职场文书