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基础教程之匿名函数lambda
Jan 17 Python
使用Python写CUDA程序的方法
Mar 27 Python
基于python时间处理方法(详解)
Aug 14 Python
python虚拟环境virtualenv的安装与使用
Sep 21 Python
win10下Python3.6安装、配置以及pip安装包教程
Oct 01 Python
python的dataframe转换为多维矩阵的方法
Apr 11 Python
Python实现截取PDF文件中的几页代码实例
Mar 11 Python
python输入多行字符串的方法总结
Jul 02 Python
Python DataFrame一列拆成多列以及一行拆成多行
Aug 06 Python
python装饰器使用实例详解
Dec 14 Python
如何用python批量调整视频声音
Dec 22 Python
python实现控制台输出颜色
Mar 02 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 获取mysql数据库信息代码
2009/03/12 PHP
php堆排序(heapsort)练习
2013/11/13 PHP
PHP连接MSSQL2008/2005数据库(SQLSRV)配置实例
2014/10/22 PHP
使用symfony命令创建项目的方法
2016/03/17 PHP
php 判断过去离现在几年的函数(实例代码)
2016/11/15 PHP
PHP ADODB实现分页功能简单示例
2018/05/25 PHP
PHP 实现重载
2021/03/09 PHP
jquery 双色表格实现代码
2009/12/08 Javascript
JavaScript高级程序设计 扩展--关于动态原型
2010/11/09 Javascript
JS中的log对象获取以及debug的写法介绍
2014/03/03 Javascript
js的2种继承方式详解
2014/03/04 Javascript
JavaScript转换与解析JSON方法实例详解
2015/11/24 Javascript
jQuery简单实现title提示效果示例
2016/08/01 Javascript
基于Vuejs实现购物车功能
2016/08/02 Javascript
Axios学习笔记之使用方法教程
2017/07/21 Javascript
element 结合vue 在表单验证时有值却提示错误的解决办法
2018/01/22 Javascript
React 路由懒加载的几种实现方案
2018/10/23 Javascript
vue安装遇到的5个报错及解决方法
2019/06/12 Javascript
小程序中英文混合排序问题解决
2019/08/02 Javascript
[01:41]DOTA2 2015国际邀请赛中国区预选赛第三日战报
2015/05/28 DOTA
Python3.0与2.X版本的区别实例分析
2014/08/25 Python
python中找出numpy array数组的最值及其索引方法
2018/04/17 Python
tensorflow 恢复指定层与不同层指定不同学习率的方法
2018/07/26 Python
windows下pycharm安装、创建文件、配置默认模板
2018/07/31 Python
浅析Django中关于session的使用
2019/12/30 Python
基于pytorch的lstm参数使用详解
2020/01/14 Python
VSCode基础使用与VSCode调试python程序入门的图文教程
2020/03/30 Python
Python flask路由间传递变量实例详解
2020/06/03 Python
浅谈pytorch中的BN层的注意事项
2020/06/23 Python
css3.0 图形构成实例练习二
2013/03/19 HTML / CSS
init进程的作用
2012/04/12 面试题
毕业晚会主持词
2014/03/24 职场文书
2014年会策划方案
2014/05/11 职场文书
小区环境卫生倡议书
2015/04/29 职场文书
故意杀人罪辩护词
2015/05/21 职场文书
mysql创建存储过程及函数详解
2021/12/04 MySQL