一、基本内容
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( )方法相关推荐

  1. python request.post 字典参数以json_Python requests.post方法中data与json参数区别详解

    在通过requests.post()进行POST请求时,传入报文的参数有两个,一个是data,一个是json. data与json既可以是str类型,也可以是dict类型. 区别: 1.不管json是 ...

  2. python post json参数,Python requests.post方法中data与json参数区别详解

    在通过requests.post()进行POST请求时,传入报文的参数有两个,一个是data,一个是json. data与json既可以是str类型,也可以是dict类型. 区别: 1.不管json是 ...

  3. Python ImportError: No module named 'requests'解决方法

    前言:最近在学习python,安装了python3.5的环境后,在网上下载了一个python文件运行的时候,提示ImportError: No module named 'requests'(找不到r ...

  4. 利用python爬虫(part4)--requests模块之requests.get方法

    学习笔记 文章目录 requests模块 requests常用方法 requests.get() requests模块 关于requests模块的安装 进入cmd,输入以下代码,即可安装: pip i ...

  5. python3安装requests_小小-Centos7安装Python3并安装Requests的方法

    前言 由于centos7原本就安装了Python2,而且这个Python2不能被删除,因为有很多系统命令,比如yum都要用到. [root@VM_105_217_centos Python-3.6.2 ...

  6. python的requests.get()方法获取百度搜索结果页面失败的问题

    昨天学到python的requests模块,准备获取一下百度搜索的结果,然后把相关链接打开,在get()结果页的时候一直取不到, keyword=input('输入要搜索的关键字:') res=req ...

  7. Python: ImportRequestsError: No module named 'requests'解决方法

    运行Python程序时,出现下面错误: import requests  ModuleNotFoundError: No module named 'requests' 原因:没有导入requests ...

  8. requests.request方法的使用

    使用requests.request发送请求,实际是使用requests.sessions.Session().request(),自动管理cookie 以下是源码: def request(meth ...

  9. python get方法列表参数_python中requests库get方法带参数请求

    起因是想爬五等分的花嫁的漫画.这是其中的一个坑 先上代码 data={ 'cid':567464, 'page':, 'key':'', 'language':1, 'gtk':6, '_cid':5 ...

  10. 网络爬虫学习2 - 爬取网页的通用代码框架、HTTP协议、Requests库的各种方法

    网络爬虫MOOC学习打卡 - 第二天 文章目录 网络爬虫MOOC学习打卡 - 第二天 一.爬取网页的通用代码框架 1.理解requests库的异常 2.Respones类提供了一个方法 -- r.ra ...

最新文章

  1. iOS视图控制器之间delegate传值
  2. 安卓v7支持包下的ListView替代品————RecyclerView
  3. 英特尔近日发布最新版实感™ SDK R5 (v7)
  4. java开发环境的建立过程_Java开发环境的搭建及第一个Java程序的创建
  5. HDU-4081 Qin Shi Huang's Road 8ystem(次小生成树)
  6. 纯数字加密和解密算法(原创)
  7. 艾宾浩斯记忆表格excel_Excel全年学习复习计划表(艾宾浩斯遗忘曲线)
  8. 如何去除字符串中的 “\n“ ?80% 的同学错了!
  9. 乌班图服务器系统怎么配ip,Ubuntu server14-04 服务器双网卡怎么配置静态ip
  10. 952开头的电话一天响两三次,不是诈骗就是推销,请问该怎么屏蔽呢?
  11. 【leveldb】资料
  12. keras.layers.Conv2D 与tf.layers.Conv2D 的兼容性: AttributeError: ‘tuple‘ object has no attribute ‘layer‘
  13. php 导出excel 数字,PHP导出excel时数字变为科学计数的解决方法
  14. java后台生成内嵌logo的二维码图片以及添加文字
  15. Java开发设计——七大原则
  16. 硬盘知识:硬盘中蓝盘、绿盘、黑盘、红盘有什么区别?
  17. Flex Builder 3 如何弹出“打开文件对话框”,限制选择文件类型
  18. 微软平台程序员的悲哀
  19. 开发利器IntelliJ IDEA—带你体验各种神奇操作
  20. 单片机实验三(1):中断处理,定时器

热门文章

  1. 【时事摘抄】(原创)既然故宫领导对错误一慨不知,认神马错?
  2. windows7下预览psd
  3. CH341SER USB转串口64位驱动
  4. QCC原因分析阶段之常用工具 - QCC小组活动推行知识系列介绍(四)
  5. USB转RS485串口电路设计
  6. Maven打包时指定配置文件
  7. python自动补全快捷键_Python快捷键的干货来啦!快来看看你掌握了几个~
  8. fio: engine libaio not loadable
  9. python 将excel文件转换为txt文件_python实现Excel文件转换为TXT文件
  10. freeimage 安装错误