Requests--get( )方法
一、基本内容
requests.get( )方法
1.至少有一个参数。(接口的地址)
2.有返回值的方法。返回值就是本次请求的服务器响应结果
二、发送一个不带参数的Get请求
案例代码:
#导包
import requests
#构造get请求
res=requests.get("http://www.baidu.com")
#设置字符编码
res.encoding="utf-8"
#打印输出
print("本次打印的状态码为:",res.status_code)
print(res.text)
print(res.cookies)#断言
exp="百度一下"
if exp in res.text:print("包含有",exp)
else:print("不存在")
运行结果:
三、发送一个带参数的Get/Post请求
1.构造参数值;
2.获取和输出各种响应值
构造一个参数表,必须是字典形式
构造请求:
res=requests.get(‘请求地址’,params=构造参数)
res=requests.post(‘请求地址’,data=构造参数)
案例代码(百度翻译):
import requests#设置接口地址
url="http://api.fanyi.baidu.com/api/trans/vip/translate"
#以字典形式的请求数据和参数
data={'q':'apple', #需要翻译的文本'from':'auto','to':'zh', #翻译成中文'appid':'20200211000382774','salt':'202002','sign':'11678af9bf6f90efff2dd377832c6317'
}
#构造并发送请求
res=requests.post(url,data=data)
res.encoding='utf-8'
#输出文本内容
print(res.text)
#断言
exp='apple'
if exp in res:print('pass')
else:print("fail")
运行结果:
四、结果json化响应
将结果转化为json的格式
requests中response.json()方法等同于json.loads(response.text)方法。
如果是对象(字典):键值对的方式去阅读
例(tra_result=result[‘trans_result’])
如果是数组:可以使用下标的方式去查找元素并阅读
例(tra_result=result[1])
案例代码:
import requests
url="http://api.fanyi.baidu.com/api/trans/vip/translate"
data={'q':'apple','from':'auto','to':'zh','appid':'20200211000382774','salt':'202002','sign':'11678af9bf6f90efff2dd377832c6317'
}
res=requests.post(url,data=data)
#未对结果进行json化
print(res.text)
#对结果json化
print(res.json())
#json化
rj=res.json()
#打印输出
print(rj)
print(rj['trans_result'][0]['dst'])
#断言
'''
exp='apple'
if exp in res:print('pass')
else:print("fail")
'''
运行结果:
五、实战案例(百度翻译,输入文本直接输出译文)
import hashlib
import randomimport requests
encodings='utf-8'
#MD5编码函数
def getmd5(be_sign):m2=hashlib.md5()m2.update(be_sign.encode(encodings))return m2.hexdigest()#翻译函数
def tra_baidu():url='http://api.fanyi.baidu.com/api/trans/vip/translate'appid='20200211000382774'key='b1imCNk_EdXIHM0zX2bD'salt=str(random.randint(1000,9999))q=input('请输入要翻译的内容:')tra_from='auto'tra_to = 'zh'be_sign=appid+q+salt+keysign=getmd5(be_sign)data={'q':q,'from':tra_from,'to':tra_to,'appid':appid,'salt':salt,'sign':sign}res=requests.post(url,data=data)result=res.json()#只输出译文tra_result=result['trans_result'][0]['dst']print('译文为:',tra_result)
#执行翻译体函数
tra_baidu()
运行结果:
Requests--get( )方法相关推荐
- python request.post 字典参数以json_Python requests.post方法中data与json参数区别详解
在通过requests.post()进行POST请求时,传入报文的参数有两个,一个是data,一个是json. data与json既可以是str类型,也可以是dict类型. 区别: 1.不管json是 ...
- python post json参数,Python requests.post方法中data与json参数区别详解
在通过requests.post()进行POST请求时,传入报文的参数有两个,一个是data,一个是json. data与json既可以是str类型,也可以是dict类型. 区别: 1.不管json是 ...
- Python ImportError: No module named 'requests'解决方法
前言:最近在学习python,安装了python3.5的环境后,在网上下载了一个python文件运行的时候,提示ImportError: No module named 'requests'(找不到r ...
- 利用python爬虫(part4)--requests模块之requests.get方法
学习笔记 文章目录 requests模块 requests常用方法 requests.get() requests模块 关于requests模块的安装 进入cmd,输入以下代码,即可安装: pip i ...
- python3安装requests_小小-Centos7安装Python3并安装Requests的方法
前言 由于centos7原本就安装了Python2,而且这个Python2不能被删除,因为有很多系统命令,比如yum都要用到. [root@VM_105_217_centos Python-3.6.2 ...
- python的requests.get()方法获取百度搜索结果页面失败的问题
昨天学到python的requests模块,准备获取一下百度搜索的结果,然后把相关链接打开,在get()结果页的时候一直取不到, keyword=input('输入要搜索的关键字:') res=req ...
- Python: ImportRequestsError: No module named 'requests'解决方法
运行Python程序时,出现下面错误: import requests ModuleNotFoundError: No module named 'requests' 原因:没有导入requests ...
- requests.request方法的使用
使用requests.request发送请求,实际是使用requests.sessions.Session().request(),自动管理cookie 以下是源码: def request(meth ...
- python get方法列表参数_python中requests库get方法带参数请求
起因是想爬五等分的花嫁的漫画.这是其中的一个坑 先上代码 data={ 'cid':567464, 'page':, 'key':'', 'language':1, 'gtk':6, '_cid':5 ...
- 网络爬虫学习2 - 爬取网页的通用代码框架、HTTP协议、Requests库的各种方法
网络爬虫MOOC学习打卡 - 第二天 文章目录 网络爬虫MOOC学习打卡 - 第二天 一.爬取网页的通用代码框架 1.理解requests库的异常 2.Respones类提供了一个方法 -- r.ra ...
最新文章
- iOS视图控制器之间delegate传值
- 安卓v7支持包下的ListView替代品————RecyclerView
- 英特尔近日发布最新版实感™ SDK R5 (v7)
- java开发环境的建立过程_Java开发环境的搭建及第一个Java程序的创建
- HDU-4081 Qin Shi Huang's Road 8ystem(次小生成树)
- 纯数字加密和解密算法(原创)
- 艾宾浩斯记忆表格excel_Excel全年学习复习计划表(艾宾浩斯遗忘曲线)
- 如何去除字符串中的 “\n“ ?80% 的同学错了!
- 乌班图服务器系统怎么配ip,Ubuntu server14-04 服务器双网卡怎么配置静态ip
- 952开头的电话一天响两三次,不是诈骗就是推销,请问该怎么屏蔽呢?
- 【leveldb】资料
- keras.layers.Conv2D 与tf.layers.Conv2D 的兼容性: AttributeError: ‘tuple‘ object has no attribute ‘layer‘
- php 导出excel 数字,PHP导出excel时数字变为科学计数的解决方法
- java后台生成内嵌logo的二维码图片以及添加文字
- Java开发设计——七大原则
- 硬盘知识:硬盘中蓝盘、绿盘、黑盘、红盘有什么区别?
- Flex Builder 3 如何弹出“打开文件对话框”,限制选择文件类型
- 微软平台程序员的悲哀
- 开发利器IntelliJ IDEA—带你体验各种神奇操作
- 单片机实验三(1):中断处理,定时器