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编程培训 python培训靠谱吗
Jan 17 Python
Django中间件工作流程及写法实例代码
Feb 06 Python
python logging重复记录日志问题的解决方法
Jul 12 Python
Python3爬虫学习之应对网站反爬虫机制的方法分析
Dec 12 Python
在python中实现强制关闭线程的示例
Jan 22 Python
python安装pil库方法及代码
Jun 25 Python
python用for循环求和的方法总结
Jul 08 Python
python lambda表达式在sort函数中的使用详解
Aug 28 Python
Tensorflow: 从checkpoint文件中读取tensor方式
Feb 10 Python
python实现3D地图可视化
Mar 25 Python
pycharm安装及如何导入numpy
Apr 03 Python
Jupyter Notebook打开任意文件夹操作
Apr 14 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/09/27 PHP
PHP实现从远程下载文件的方法
2015/03/12 PHP
PHP解压tar.gz格式文件的方法
2016/02/14 PHP
laravel 实现上传图片到本地和前台访问示例
2019/10/21 PHP
Javascript学习笔记5 类和对象
2010/01/11 Javascript
jquery.validate使用攻略 第一部
2010/07/01 Javascript
js实现的跟随鼠标移动的时钟效果(中英文日期显示)
2011/01/17 Javascript
js 函数的副作用分析
2011/08/23 Javascript
Javascript模块化编程(一)模块的写法最佳实践
2013/01/17 Javascript
jquery自定义属性(类型/属性值)
2013/05/21 Javascript
js判断undefined变量类型使用typeof
2013/06/03 Javascript
手写的一个兼容各种浏览器的javascript getStyle函数(获取元素的样式)
2014/06/06 Javascript
JavaScript使用二分查找算法在数组中查找数据的方法
2015/04/07 Javascript
Javascript实现获取及设置光标位置的方法
2015/07/21 Javascript
JavaScript驾驭网页-获取网页元素
2016/03/24 Javascript
Java中int与integer的区别(基本数据类型与引用数据类型)
2017/02/19 Javascript
vue2实现移动端上传、预览、压缩图片解决拍照旋转问题
2017/04/13 Javascript
Angular2使用Guard和Resolve进行验证和权限控制
2017/04/24 Javascript
Vue 进阶教程之v-model详解
2017/05/06 Javascript
jQuery实现节点的追加、替换、删除、复制功能示例
2017/07/11 jQuery
nodejs基础之多进程实例详解
2018/12/27 NodeJs
Vue分页效果与购物车功能
2019/12/13 Javascript
解决vue打包 npm run build-test突然不动了的问题
2020/11/13 Javascript
[17:45]DOTA2 HEROES教学视频教你分分钟做大人-军团指挥官
2014/06/11 DOTA
Python socket网络编程TCP/IP服务器与客户端通信
2017/01/05 Python
使用python装饰器计算函数运行时间的实例
2018/04/21 Python
详解python中list的使用
2019/03/15 Python
Django用数据库表反向生成models类知识点详解
2020/03/25 Python
Django Auth用户认证组件实现代码
2020/10/13 Python
matplotlib阶梯图的实现(step())
2021/03/02 Python
中学生操行评语大全
2014/04/24 职场文书
乡镇务虚会发言材料
2014/10/20 职场文书
工作能力自我评价2015
2015/03/05 职场文书
三好学生主要事迹材料
2015/11/03 职场文书
JVM入门之类加载与字节码技术(类加载与类的加载器)
2021/06/15 Java/Android
Unity连接MySQL并读取表格数据的实现代码
2021/06/20 MySQL