python网络编程----requests模块
python访问网站可以用标准模块--urllib模块(这里省略),和requests(安装-pip install requests)模块,requests模块是在urllib的基础上进行的封装,比urllib模块功能更强到,易用
- import json,requests
- #发送get请求
- url = 'http://api.nnzhp.cn/api/user/stu_info?stu_name=小黑马'
- req = requests.get(url) #发送get请求
- print(req.text) #获取结果,返回string/html等用text
- print(req.json()) #获取结果直接就是字典,等价于 print(json.loads(req.text)) #json串转化成字典,注:返回的必须是json串,才能用.json方法。
- #发送post请求
- url = 'http://api.nnzhp.cn/api/user/login'
- data = {'username':'niuhanyang','passwd':'aA123456'}
- req = requests.post(url,data) #发送post请求,第一个参数是url,第二个参数是请求参数
- print(req.json())
- #入参是json的
- url = 'http://api.nnzhp.cn/api/user/add_stu'
- data = {'name':'丁飞','grade':'巨蟹座','phone':31971891223}
- req = requests.post(url,json=data) #发送post请求,第一个参数是url,第二个参数是请求参数
- print(req.json())
- #添加cookie
- url = 'http://api.nnzhp.cn/api/user/gold_add'
- data = {'stu_id':231,'gold':1000}
- cookie = {'niuhanyang':'6d195100b95a43046d2e385835c6e2c2'}
- req = requests.post(url,data,cookies=cookie)
- print(req.json())
- #添加header
- url='http://api.nnzhp.cn/api/user/all_stu'
- h = {'Referer':'http://api.nnzhp.cn/','User-Agent':'Chore'}#可以添加多个header,用,分开
- res = requests.get(url,headers=h)
- print(res.json())
- #上传文件
- url = 'http://api.nnzhp.cn/api/file/file_upload'
- f = open(r'C:\Users\bjniuhanyang\Desktop\ad.cpm.schedulingInfo.v1.json','rb')
- r = requests.post(url,files={'file':f})
- print(r.json())
- #下载文件
- url= 'http://www.besttest.cn/data/upload/201710/f_36b1c59ecf3b8ff5b0acaf2ea42bafe0.jpg'
- r = requests.get(url)
- print(r.status_code) #获取请求的状态码
- print(r.content) #获取返回结果--二进制格式的
- fw = open(r'bt.jpg','wb')
- fw.write(r.content)
- fw.close()
- #保存网页
- url = 'http://www.nnzhp.cn/archives/630'
- r = requests.get(url)
- f = open('nnzhp.html','wb')
- f.write(r.content)
- f.close()
python网络编程----requests模块的更多相关文章
- python 网络爬虫requests模块
一.requests模块 requests模块是python中原生的基于网络请求的模块,其主要作用是用来模拟浏览器发起请求.功能强大,用法简洁高效. 1.1 模块介绍及请求过程 requests模块模 ...
- Python网络爬虫-requests模块
requests模块 requests模块是python中原生的基于网络请求的模块,其主要作用是用来模拟浏览器发起请求.功能强大,用法简洁高效.在爬虫领域中占据着半壁江山的地位. 如何使用reques ...
- python网络编程socketserver模块(实现TCP客户端/服务器)
摘录python核心编程 socketserver(python3.x版本重新命名)是标准库中的网络编程的高级模块.通过将创建网络客户端和服务器所必须的代码封装起来,简化了模板,为你提供了各种各样的类 ...
- Python网络爬虫-requests模块(II)
有些时候,我们在使用爬虫程序去爬取一些用户相关信息的数据(爬取张三“人人网”个人主页数据)时,如果使用之前requests模块常规操作时,往往达不到我们想要的目的,例如: #!/usr/bin/env ...
- python 网络编程--socket模块/struct模块
socket模块: 客户端:CS架构, client -> server 浏览器:BS架构, browser -> server 网络通信本质:传输字节 doc命令查看ip地址:ipc ...
- python网络编程-paramiko模块
paramiko模块 该模块基于SSH用于连接远程服务器并执行相关操作 参考文档 SSHClient 用于连接远程服务器并执行命令 import paramiko #创建SSH对象 ssh = par ...
- python网络编程-socketserver模块
使用socketserver 老规矩,先引入import socketserver 必须创建一个类,且继承socketserver.BaseRequestHandler 这个类中必须重写handle( ...
- 孤荷凌寒自学python第六十七天初步了解Python爬虫初识requests模块
孤荷凌寒自学python第六十七天初步了解Python爬虫初识requests模块 (完整学习过程屏幕记录视频地址在文末) 从今天起开始正式学习Python的爬虫. 今天已经初步了解了两个主要的模块: ...
- Python 网络编程(二)
Python 网络编程 上一篇博客介绍了socket的基本概念以及实现了简单的TCP和UDP的客户端.服务器程序,本篇博客主要对socket编程进行更深入的讲解 一.简化版ssh实现 这是一个极其简单 ...
随机推荐
- 记录一下关于DQN的想法
下载了几份代码,就两份没有报错通过了 DQN玩FlappyBird https://github.com/yenchenlin/DeepLearningFlappyBird DQN玩Cartpole ...
- Task.Run 和 Task.Factory.StartNew 区别
Task.Run 是在 dotnet framework 4.5 之后才可以使用, Task.Factory.StartNew 可以使用比 Task.Run 更多的参数,可以做到更多的定制. 可以认为 ...
- Oracle 按一行里某个字段里的值分割成多行进行展示
with t as ( select '111,222,333' col from dual union all select '444,555,666' col from dual ) , leve ...
- Python sleep()函数用法:线程睡眠
如果需要让当前正在执行的线程暂停一段时间,并进入阻塞状态,则可以通过调用 time 模块的 sleep(secs) 函数来实现.该函数可指定一个 secs 参数,用于指定线程阻塞多少秒. 当前线程调用 ...
- 删除集合元素Collection ,remove()
package seday11;/*** @author xingsir*/public class coordinate { private int x; private int y; /* * 右 ...
- IDEA创建类似于Eclipse的source folder
1.新建普通文件夹目录directory 2.当前Module右键Open Mudule Settings(F12) 3.选中新建的文件夹并单击上面的Sources,看到文件夹颜色变化即成功.
- 鬼子进村 fhq-treap
鬼子进村 fhq-treap 题面 观察题目发现可用平衡树做:每次鬼子拆家即从平衡树中加入被拆的节点:每次村民修房子都向平衡树中删除该节点:每次查询时,只需要求出其后驱与前驱,易知nxt-pre-1为 ...
- Java实例化对象过程中的内存分配
Java实例化对象过程中的内存分配: https://blog.csdn.net/qq_36934826/article/details/82685791 问题引入这里先定义一个很不标准的“书”类,这 ...
- @EnableTransactionManagement的使用
Spring Boot 使用事务非常简单,首先使用注解 @EnableTransactionManagement 开启事务支持后,然后在访问数据库的Service方法上添加注解 @Transactio ...
- elasticsearch文档冲突
https://www.elastic.co/guide/cn/elasticsearch/guide/current/optimistic-concurrency-control.html当我们之前 ...