urllib
是一个用于处理 url 相关操作的标准库,它提供了丰富的网络通信能力。它主要由以下四个模块组成:
模块名称 | 功能描述 |
---|---|
urllib.request | 用于打开和读取 url,模拟 http 请求(如 get, post)。 |
urllib.error | 处理 |
urllib.parse | 用于解析、组合和编码 url。 |
urllib.robotparser | 用于解析网站的 |
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内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论