Python 3基础教程31-urllib模块
2024-08-26 07:28:13
本文介绍Python里的urllib模块,这个urllib主要处理web服务的,如果需要做接口测试,或者写Python的网络爬虫,这个urllib就是最底层的库。需要用到里面的请求方法等。
1. 先看看一个不带参数的http 请求
# urllib模块
import urllib.request # 向web服务器发送一个请求,打开百度学术首页
x = urllib.request.urlopen('http://xueshu.baidu.com/') # 打印页面源代码
print(x.read())
自己运行下,这里就不贴运行结果
2.再看看带参数的http 请求,这里以新浪天气举例
# urllib模块
import urllib.request
import urllib.parse # 向web服务器发送一个请求,打开百度学术首页
#x = urllib.request.urlopen('http://xueshu.baidu.com/') # 打印页面源代码
#print(x.read()) # 发送一个带参数的请求
url = 'http://php.weather.sina.com.cn/search.php'
values = {'city':'北京',
'dpc':'1'
}
'''
city=北京,这个字段需要转码,转成后是%B1%B1%BE%A9
你可以打开http://php.weather.sina.com.cn,搜索北京看看是不是这个转码
这个转码过程就叫encode
'''
data = urllib.parse.urlencode(values)
# 参数的编码格式是Unicode,这里用utf-8,最适合网络传输的编码协议
data = data.encode('utf-8')
# 调用一个有url和参数的请求,通过Request(url,data)
req = urllib.request.Request(url,data)
# 打开这个请求,通过urlopen函数
resq = urllib.request.urlopen(req)
# 定义一个响应返回数据respData,也就是读取查询北京天气的页面
respData = resq.read()
# 打印北京天气查询结果页的源代码
print(respData)
运行一下,需要等待一点时间,就可以看到北京天气查询结果页的源代码输出。
Python下的urllib库就先介绍到这里,以后做爬虫或者接口自动化测试,需要用到这些。当然,爬虫和接口测试Python不止urllib这个库,还有更好的库支持完成这些工作。
最新文章
- HTML补充
- VC++常用数据类型转化
- JavaMelody监控SQL
- 读取本地Json文件
- 虚拟机 主机无法访问虚拟机中Linux上的tomcat服务
- 一个简单的ORM制作(SQL帮助类)
- 隐马尔科夫模型 介绍 HMM python代码
- HTTP 代理原理及实现
- 在Azure Cloud Service中部署Java Web App(2)
- mac关机快捷键
- Linux误删C基本运行库libc.so.6处理方法
- [DeeplearningAI笔记]02_3.1-3.2超参数搜索技巧与对数标尺
- 获取Promise的值
- docker创建image
- OJ:重载 <;<; 运算符
- HTML和CSS总结
- BZOJ.3546.[ONTAK2010]Life of the Party(二分图匹配 ISAP)
- ng-深度学习-课程笔记-16: 自然语言处理与词嵌入(Week2)
- setoolkit基础
- Python模块学习 - psutil
热门文章
- caffe 学习(1) —— Classification: Instant Recognition with Caffe
- java json和对象互转
- 【luogu P3063 [USACO12DEC]牛奶的路由Milk Routing】 题解
- MVC个层次之间的联系
- 20.springboot项目部署到linux服务器文件上传临时路径处理问题
- sysdate 和 current_date 的区别
- 原生js方面的兼容性问题
- Django url处理
- 前行记录 - NOIP2018游记
- oracle 12.1的删除和创建公共用户问题