python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python内建模块urllib

Python常用内建模块urllib详解

作者:Derrick__1

urllib是Python标准库,包含request(发起请求)、error(异常处理)、parse(URL解析)、robotparser(robots.txt解析)四大模块,其核心功能是模拟HTTP请求,支持GET/POST等操作,本文给大家介绍Python常用内建模块urllib,感兴趣的朋友一起看看吧

urllib是一个用于处理 URL 相关操作的标准库,它提供了丰富的网络通信能力。它主要由以下四个模块组成:

模块名称

功能描述

​urllib.request​

用于打开和读取 URL,模拟 HTTP 请求(如 GET, POST)。

​urllib.error​

处理 request模块引发的异常(如 HTTPError, URLError)。

​urllib.parse​

用于解析、组合和编码 URL。

​urllib.robotparser​

用于解析网站的 robots.txt文件,判断爬虫权限。

urllib.request​​:发起网络请求

此模块用于打开和读取 URL,支持多种协议(HTTP, HTTPS, FTP 等)。

发送 GET 请求

使用 urlopen()方法发送最简单的 GET 请求:

发送 POST 请求

通过 data参数传递数据即可发起 POST 请求,数据需为字节流格式:

urllib提供的功能就是利用程序去执行各种HTTP请求。如果要模拟浏览器完成特定功能,需要把请求伪装成浏览器。伪装的方法是先监控浏览器发出的请求,再根据浏览器的请求头来伪装,User-Agent头就是用来标识浏览器的。

urllib是 Python 进行网络请求的基石,涵盖了从发起请求、处理响应、解析 URL 到管理异常等全方位功能。目前廖老师对于这部分的讲解还是比较浅显方便我们入门。

练习

利用urllib读取JSON,然后将JSON解析为Python对象:

from urllib import request
def fetch_data(url):
    return ''
# 测试
URL = 'https://api.weatherapi.com/v1/current.json?key=b4e8f86b44654e6b86885330242207&q=Beijing&aqi=no'
data = fetch_data(URL)
print(data)
assert data['location']['name'] == 'Beijing'
print('ok')

这个地方SLL证书不通过的问题一直从廖老师教学的第一段代码就出现,这里ai写了一段忽略SLL的代码才得以运行成功

到此这篇关于Python常用内建模块urllib详解的文章就介绍到这了,更多相关Python内建模块urllib内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文