python爬虫之urllib库常用方法用法总结大全

yizhihongxing

Python爬虫之urllib库常用方法用法总结大全

urllib库介绍

urllib是Python自带的HTTP请求库,包含四个子模块:
- urllib.request,用于打开和读取URL
- urllib.error,包含urllib.request产生的异常
- urllib.parse,用于解析URL
- urllib.robotparser,用于解析robots.txt文件

urllib.request模块

urllib.request模块定义了各种HTTP请求相关的类和函数,如下列表:

函数 描述
request() 发送HTTP请求
urlopen() 打开URL地址
urlretrieve() 下载URL内容到本地
urlcleanup() 清除由于urlretrieve函数产生的缓存
pathname2url() 将本地路径转化成URL路径
url2pathname() 将URL路径转化成本地路径

urlopen函数

urlopen()函数用于打开URL地址,它的常用参数有:

  • url:打开的URL地址
  • data:请求的数据,如果传递这个参数,HTTP请求会变成POST请求,传递参数到服务器,HTTP请求对象变成HTTP POST请求对象
  • timeout:设置超时时间,单位是秒,如果指定时间内服务器没有响应,就会抛出异常

示例1:使用urllib.request.urlopen()获取百度首页的HTML代码

import urllib.request

response = urllib.request.urlopen('https://www.baidu.com/')
html = response.read()
print(html.decode('utf-8'))

request函数

request函数用于发送HTTP请求,它支持多种HTTP请求方式,如下列表:

  • GET:获取数据
  • POST:提交数据
  • PUT:更新数据
  • HEAD:获取响应头
  • DELETE:删除数据

它的常用参数有:

  • url:请求的URL地址
  • data:请求的数据,以字节流的方式进行传递
  • headers:请求头信息
  • method:HTTP请求方法
  • timeout:请求的超时时间

示例2:使用urllib.request.Request()方法发送GET请求。

import urllib.request

url = 'http://httpbin.org/get'
req = urllib.request.Request(url)
response = urllib.request.urlopen(req)
html = response.read()
print(html.decode('utf-8'))

urllib.parse模块

urllib.parse模块提供了一些实用的URL处理函数,如下列表:

函数 描述
urlparse() 解析URL地址
urlsplit() 和urlparse()类似,但是只返回5个元素(scheme,netloc,path,query,fragment)
urlunparse() 组合URL元素成完整URL
urljoin() 将基础URL和相对URL拼接成完整URL
urlencode() 将字典或者元组类型的数据转换成URL请求参数
parse_qs() 将URL参数转换成一个字典类型
quote() URL编码函数,将字符串内容转换为url安全的形式
unquote() URL解码函数,将URL安全字符串转换回原来的字符串形式

示例3:使用urllib.parse.urlencode将字典转换为URL参数格式的字符串

import urllib.parse

params = {'name': 'Jack', 'age': 18}
query_string = urllib.parse.urlencode(params)
print(query_string)

以上是urllib库的常用方法和用法。

总结

本文介绍了urllib库的常用方法,包括urllib.request模块和urllib.parse模块,通过示例分别展示了获取网页HTML代码,发送HTTP GET请求和将字典转换为URL参数格式字符串等操作。如有任何疑问请在评论区留言。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python爬虫之urllib库常用方法用法总结大全 - Python技术站

(0)
上一篇 2023年5月13日
下一篇 2023年5月13日

相关文章

  • Python 操作 Excel 之 openpyxl 模块

    下面是详细讲解“Python 操作 Excel 之 openpyxl 模块”的完整实例教程。 什么是 openpyxl? openpyxl 是一个 Python 库,用于读取和写入 Excel 2010 xlsx/xlsm/xltx/xltm 文件格式的工具。它可以操作整个 Excel 文档或单独的工作表,并支持迭代整个工作表。openpyxl 还支持数据类…

    python 2023年5月13日
    00
  • Python 改变数组类型为uint8的实现

    下面我来详细讲解一下“Python 改变数组类型为uint8的实现”的完整攻略。 什么是数组类型? 在 Python 中,数组类型是由 Numpy 库提供的,它是基于 Python 的数值计算库,提供了大量的数学函数,可以用于科学计算、数据处理、机器学习等领域。 Numpy 中的数组类型主要包括以下几种: int8、uint8:8 位整数类型,范围为 -12…

    python 2023年6月5日
    00
  • python中reversed与reverse的区别解析

    Python中reversed与reverse的区别解析 概述 在Python中,reversed和reverse都是用于将数据序列反转的方法,但它们有些微妙的区别。在本文中,我们将详细讲解它们的区别和使用方式。 reversed 方法 reversed是一个内置函数,它用于返回一个反转的迭代器对象,可以用于任何序列类型的数据。它在返回反转迭代器的同时,并没…

    python 2023年5月14日
    00
  • Python高斯消除矩阵

    下面是Python高斯消除矩阵的完整攻略: 什么是高斯消除法? 高斯消除法,也叫高斯-约旦消元法,是一种求解线性方程组的方法。它通过行变换将线性方程组转化为阶梯矩阵(上三角矩阵),从而容易求解。这个方法是由高斯首先提出的。 高斯消除法的步骤 将方程组的系数矩阵和常数项组成增广矩阵; 利用初等行变换,将增广矩阵化为阶梯矩阵; 对阶梯矩阵进行回代,得到方程组的解…

    python 2023年5月31日
    00
  • python爬虫beautiful soup的使用方式

    Python爬虫BeautifulSoup的使用方式 介绍 BeautifulSoup是python中的一个html解析库,可以将复杂的html文档转化成一个比较简单的树形结构,以便于我们在程序中对其进行各种操作,例如提取数据、搜索文档等。在爬取网页数据时,BeautifulSoup是常用的工具之一。 安装 在使用BeautifulSoup之前,需要先安装库…

    python 2023年5月14日
    00
  • python读取并定位excel数据坐标系详解

    下面我将详细讲解一下“python读取并定位excel数据坐标系详解”的完整实例教程。 标题 介绍 本文主要介绍如何使用Python读取和定位Excel数据,并对Excel数据坐标系进行详细说明。 实现步骤 安装必要的Python库 本例中需要使用openpyxl库来读取并定位Excel中的数据,可以使用pip命令来安装该库。 pip install ope…

    python 2023年5月13日
    00
  • 如何用Pandas在Python中创建虚拟变量

    创建虚拟变量通常是数据分析过程中的一项必要工作。在Python中,我们可以使用Pandas库中的get_dummies()函数来创建虚拟变量。以下是创建虚拟变量的完整攻略: 1. 导入必要的库 首先,需要导入Pandas库。同时,如果要演示示例,也需要导入numpy库和matplotlib库。 import pandas as pd import numpy…

    python-answer 2023年3月25日
    00
  • python中使用.py配置文件的方法详解

    Python中使用.py配置文件的方法详解 在Python开发中,我们通常需要读取配置文件,将一些地址、路径、参数等内容从代码中独立出来,方便管理和维护。Python支持常见的多种配置文件格式,如INI格式、JSON格式、XML格式等,其中.py格式配置文件则相对比较特殊,其特殊之处在于.py格式本身就是Python模块,可以直接在代码中引用,具有更高的灵活…

    python 2023年5月30日
    00
合作推广
合作推广
分享本页
返回顶部