网络编程之 urllib 模块
首先urlib并不是一个很好用的方法,这里仅作简单介绍。一般我们用requests方法来代替urlib方法。
1. get请求
1 from urllib import request
2 url = 'http://www.baidu.com'
3 req = request.urlopen(url) #打开一个url,发送get请求
4 content = req.read().decode() #读取源代码
5 fw = open('baidu.html','w',encoding='utf-8')
6 fw.write(content)
第1行:从urllib中导入request函数,也可以写成:import urllib.request
第2行:get请求的url链接,如果是在接口测试中,后面应带上参数,例如:http://api.xxxx.cn/api/user/stu_info?stu_name=xiaohei
第3行:打开url,发送get请求,获取到的是
第4行:读取源代码,直接读出来的是二进制格式,要进行解码
第5行:创建一个文件,以“w”模式
第6行:将读取的源代码写到baidu.html中
2. post 请求
1 from urllib import request,parse
2 url = 'http://api.xxxx.cn/api/login'
3 data = {
4 'username':'xxxx',
5 'passwd':'xxxxxxxx'
6 } #请求数据
7 data = parse.urlencode(data) #把字典变成了字符串:username=xxxx&passwd=xxxxxxx,拼好参数
8 req = request.urlopen(url,data.encode()) #传入的参数要byte类型
9 print(req.read().decode())
第1行:从urllib中导入request、parse函数
第2行:请求地址
第3行:post 入参,定义的data是字典格式
第7行:parse.urlencode()方法会把字典变成一个字符串,并且拼接成username=xxxxx&passwd=xxxxxx的格式。
第8行:传入的参数要转换成二进制格式
第9行:打印出post结果,要解码。
网络编程之 urllib 模块的更多相关文章
- python学习笔记(十七)网络编程之urllib模块
如何用python打开一个网站或者请求一个接口呢,我们在这篇博客介绍一下. 首先我们得导入一个urllib模块,这个模块是python自带的标准模块,直接导入就能使用,但是用起来不方便,先看个简单的打 ...
- 网络编程之urllib
#网络爬虫,从其他的网站上,获取一些有用的内容,存入自己的数据库,然后再展示在指定的位置.#urllib是python自带的模块 1.urllib模块做网络爬虫,爬取网页: from urllib i ...
- python学习笔记(十八)网络编程之requests模块
上篇博客中我们使用python自带的urllib模块去请求一个网站,或者接口,但是urllib模块太麻烦了,传参数的话,都得是bytes类型,返回数据也是bytes类型,还得解码,想直接把返回结果拿出 ...
- 网络编程之socket模块
一.TCP协议 TCP是可靠的.面向连接的协议(eg:打电话).传输效率低全双工通信(发送缓存&接收缓存).面向字节流.使用TCP的应用:Web浏览器:电子邮件.文件传输程序. 二.基于TCP ...
- 网络编程之socket
网络编程之socket socket:在网络编程中的一个基本组件,也称套接字. 一个套接字就是socket模块中的socket类的一个实例. 套接字包括两个: 服务器套接字和客户机套接字 套接字的实例 ...
- python3网络编程之socketserver
本节主要是讲解python3网络编程之socketserver,在上一节中我们讲到了socket.由于socket无法支持多用户和多并发,于是就有了socket server. socket serv ...
- 网络编程之socketserver
网络编程之socketserver """ socketserver.py 中的5个基础类 +------------+ | BaseServer | +-------- ...
- 网络编程之socketserver初识
网络编程之socketserver初识 Server #!/usr/bin/env python # @Author : "Wjl" # @Date : 2017/12/22 # ...
- 网络编程之TCP/IP各层详解
网络编程之TCP/IP各层详解 我们将应用层,表示层,会话层并作应用层,从TCP/IP五层协议的角度来阐述每层的由来与功能,搞清楚了每层的主要协议,就理解了整个物联网通信的原理. 首先,用户感知到的只 ...
- Python网络编程之TCP套接字简单用法示例
Python网络编程之TCP套接字简单用法示例 本文实例讲述了Python网络编程之TCP套接字简单用法.分享给大家供大家参考,具体如下: 上学期学的计算机网络,因为之前还未学习python,而jav ...
随机推荐
- CCPC2021 广州 K. Magus Night
CCPC2021 广州 K. Magus Night 题意 给定整数区间 \([1,m]\) ,从中可重复的选择 \(n\) 个数,形成一个数列 \(\{a_n\}\) .问:所有满足 \(\gcd( ...
- Python的入门学习Day 16~18——form”夜曲编程“
Day 16 Day 17 time:2021.8.14. 今天七夕.激动,喜悦.平静呼吸,嘻嘻~ 也许我也是天空.去看课程了,嗯.今天重点学习了循环的对立面--"跳出循环"的 ...
- Python的入门复习一 Day 8——from“夜曲编程”
Day 8 time: 2021.8.5. 原来P课程已经安排好了专题复习呢.所以,今天的重心就落在了角落知识点于相关课程实践上了.这次总结,也是一如既往地兵分两路呢. 注意事项: 格式化时,在前,引 ...
- java心形打印999
心形打印999 农历七月初七,七夕节也就是中国民间版的所谓情人节,利用java打印心型999个图案可以让程序员更浪漫一些.现在下面由小编简要的说一下如何做到.首先下面是打印心形但却不是999个的代码, ...
- 大数据开源平台CDH 集群(CM6.3.1 + CDH 6.3.2)的部署
一,概述 我依照博文:https://www.cnblogs.com/liugp/p/16286645.html ,进行了CDH集群的部署.总体来说,基本比较顺利. 在部署过程中,发生了一些小问题.本 ...
- display和浮动
display:block; // 块元素 display: inline-block //行内和块元素 浮动 float: left; 清除浮动 clear: both; 两侧不允许有浮动 解决父级 ...
- (0720) 【 表示 n'b0; 】
注意 花括号: (n+1)'b1 小括号:
- IDEA 项目运行内存设置
IDEA 运行内存设置 1.堆内存设置 2.help ---- edit custom VM options 参考摘录:https://blog.csdn.net/wentaolv/article/d ...
- HTML中javascript的<script>标签使用方法详解
只要一提到把JavaScript放到网页中,就不得不涉及Web的核心语言--HTML.在当初开发JavaScript的时候,Netscape要解决的一个重要问题就是如何做到让JavaScript既能与 ...
- 二.navicate
navicat -创建 -新建查询 -转储sql文件命令: 转储当前目录所有的文件与数据:mysqldump -u root db4 > db4.sql -p 转储当前目录到表结构没有数据:my ...