|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
一. urllib的使用
- import urllib.request # 导入request子模块
- url = 'https://www.cnblogs.com/'
- response = urllib.request.urlopen(url=url) # 发送网络请求
- print('响应状态码为:',response.status)
- print('响应头所有信息为:',response.getheaders())
- print('响应头指定信息为:',response.getheader('Accept-Ranges'))
- # 读取HTML代码并进行utf-8解码
- print('博客园代码如下:\n',response.read().decode('utf-8'))
复制代码
二. urllib的使用发送POST请求并带UA浏览器
- import urllib.request # 导入urllib.request模块
- import urllib.parse # 导入urllib.parse模块
- url = 'https://www.httpbin.org/post' # 请求地址
- # 定义请求头信息
- headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36'}
- # 将表单数据转换为bytes类型,并设置编码方式为utf-8
- data = bytes(urllib.parse.urlencode({'hello':'python'}),encoding='utf-8')
- # 创建Request对象
- r = urllib.request.Request(url=url,data=data,headers=headers,method='POST')
- response = urllib.request.urlopen(r) # 发送网络请求
- print(response.read().decode('utf-8')) # 读取HTML代码并进行utf-8解码
复制代码
三. urllib的异常处理
- import urllib.request # 导入urllib.request模块
- import urllib.error # 导入urllib.error模块
- import socket # 导入socket模块
- url = 'https://www.python.org/' # 请求地址
- try:
- # 发送网络请求,设置超时时间为0.1秒
- response = urllib.request.urlopen(url=url, timeout=0.1)
- print(response.read().decode('utf-8')) # 读取HTML代码并进行utf-8解码
- except urllib.error.URLError as error: # 处理异常
- if isinstance(error.reason, socket.timeout): # 判断异常是否为超时异常
- print('当前任务已超时,即将执行下一任务!')
复制代码
四. urllib的url拼接
- import urllib.parse #导入urllib.parse模块
- base_url = 'https://docs.python.org' # 定义基础链接
- # 第二参数不完整时
- print(urllib.parse.urljoin(base_url,'3/library/urllib.parse.html'))
- # 第二参数完成时,直接返回第二参数的链接
- print(urllib.parse.urljoin(base_url,'https://docs.python.org/3/library/urllib.parse.html#url-parsing'))
复制代码
可能补充的不够完整 谅解 谢谢
|
|