Python urllib.request对象案例解析

 更新时间:2020年05月11日 09:50:22   作者:孤灯引路人  
这篇文章主要介绍了Python urllib.request对象案例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

刚刚接触爬虫,基础的东西得时时回顾才行,这么全面的帖子无论如何也得厚着脸皮转过来啊!

什么是 Urllib 库?

urllib 库 是 Python 内置的 HTTP 请求库。urllib 模块提供的上层接口,使访问 www 和 ftp 上的数据就像访问本地文件一样。

有以下几种模块:

1.urllib.request 请求模块

2. urllib.error 异常处理模块

3. urllib.parse url 解析模块

4. urllib.robotparser robots.txt 解析模块

Urllib 库下的几种模块基本使用如下:

urllib.request

关于 urllib.request: urllib.request 模块提供了最基本的构造 HTTP (或其他协议如 FTP)请求的方法,利用它可以模拟浏览器的一个请求发起过程。利用不同的协议去获取 URL 信息。它的某些接口能够处理基础认证 ( Basic Authenticaton) 、redirections (HTTP 重定向)、 Cookies (浏览器 Cookies)等情况。而这些接口是由 handlers 和 openers 对象提供的。

1.常用的方法有

  •   read()==读取文件内容
  •   geturl()==获取请求url
  •   getheaders()==获取http请求头信息
  •   getcode()==获取状态码
  •   readlines()==获取一行

2.案例

#coding=utf-8
#import urllib.request
#=========response方法使用
#read()==读取文件内容
#geturl()==获取请求url
#getheaders()==获取http请求头信息
#getcode()==获取状态码
#readlines()==获取一行
#url="http://www.baidu.com";
#response = urllib.request.urlopen(url);
#=====案例1
# str = response.read().decode();#这样通过decode转换为utf8
# with open("baidu.html","w",encoding="utf8") as fp:
#   fp.write(str);
#=====案例2通过字节流写=默认通过read读取的是字节流
# with open("bai.html","wb") as fp:
#   fp.write(response.read()); 
#==使用字节流读取存图片
# image_url='https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=3772530225,1800402028&fm=26&gp=0.jpg';
# response = urllib.request.urlopen(image_url);
# with open("mv.jpg",'wb') as fp:
#   fp.write(response.read());
#案例3==使用内置函数读取图片
#image_url='https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=3772530225,1800402028&fm=26&gp=0.jpg';
#urllib.request.urlretrieve(image_url,"chun.jpg");

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

相关文章

  • Python利用Redis计算经纬度距离案例

    Python利用Redis计算经纬度距离案例

    这篇文章主要介绍了Python利用Redis计算经纬度距离案例,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下
    2022-09-09
  • python将ansible配置转为json格式实例代码

    python将ansible配置转为json格式实例代码

    这篇文章主要介绍了python将ansible配置转为json格式实例代码的相关资料,需要的朋友可以参考下
    2017-05-05
  • 简单谈谈Python流程控制语句

    简单谈谈Python流程控制语句

    流程控制是程序设计中一个重要的内容,Python支持三种不同的控制结构:if,for和while,下面我们来简单谈谈Python中的流程控制语句
    2016-12-12
  • 熵值法原理及Python实现的示例详解

    熵值法原理及Python实现的示例详解

    熵值法也称熵权法,是学术研究及实际应用中的一种常用且有效的编制指标的方法。本文就来和大家聊聊熵值法原理及Python实现,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-02-02
  • 导入tensorflow:ImportError: libcublas.so.9.0 报错

    导入tensorflow:ImportError: libcublas.so.9.0 报错

    这篇文章主要介绍了导入tensorflow:ImportError: libcublas.so.9.0 报错,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • Python3 搭建Qt5 环境的方法示例

    Python3 搭建Qt5 环境的方法示例

    这篇文章主要介绍了Python3 搭建Qt5 环境的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • Python实现将SQLite中的数据直接输出为CVS的方法示例

    Python实现将SQLite中的数据直接输出为CVS的方法示例

    这篇文章主要介绍了Python实现将SQLite中的数据直接输出为CVS的方法,涉及Python连接、读取SQLite数据库及转换CVS格式数据的相关操作技巧,需要的朋友可以参考下
    2017-07-07
  • Python递归遍历列表及输出的实现方法

    Python递归遍历列表及输出的实现方法

    这篇文章主要介绍了Python递归遍历列表及输出的实现方法,可实现递归遍历列表中的每一项,若是元祖则判断是否为基本类型然后输出,需要的朋友可以参考下
    2015-05-05
  • Pycharm中的Python Console用法解读

    Pycharm中的Python Console用法解读

    这篇文章主要介绍了Pycharm中的Python Console用法解读,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01
  • Django与DRF结合的全局异常处理方案详解

    Django与DRF结合的全局异常处理方案详解

    这篇文章主要为大家详细介绍了Django与DRF结合的全局异常处理方案,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-02-02

最新评论