本文介绍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这个库,还有更好的库支持完成这些工作。

最新文章

  1. HTML补充
  2. VC++常用数据类型转化
  3. JavaMelody监控SQL
  4. 读取本地Json文件
  5. 虚拟机 主机无法访问虚拟机中Linux上的tomcat服务
  6. 一个简单的ORM制作(SQL帮助类)
  7. 隐马尔科夫模型 介绍 HMM python代码
  8. HTTP 代理原理及实现
  9. 在Azure Cloud Service中部署Java Web App(2)
  10. mac关机快捷键
  11. Linux误删C基本运行库libc.so.6处理方法
  12. [DeeplearningAI笔记]02_3.1-3.2超参数搜索技巧与对数标尺
  13. 获取Promise的值
  14. docker创建image
  15. OJ:重载 << 运算符
  16. HTML和CSS总结
  17. BZOJ.3546.[ONTAK2010]Life of the Party(二分图匹配 ISAP)
  18. ng-深度学习-课程笔记-16: 自然语言处理与词嵌入(Week2)
  19. setoolkit基础
  20. Python模块学习 - psutil

热门文章

  1. caffe 学习(1) —— Classification: Instant Recognition with Caffe
  2. java json和对象互转
  3. 【luogu P3063 [USACO12DEC]牛奶的路由Milk Routing】 题解
  4. MVC个层次之间的联系
  5. 20.springboot项目部署到linux服务器文件上传临时路径处理问题
  6. sysdate 和 current_date 的区别
  7. 原生js方面的兼容性问题
  8. Django url处理
  9. 前行记录 - NOIP2018游记
  10. oracle 12.1的删除和创建公共用户问题