python get

Posted 星空6

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python get相关的知识,希望对你有一定的参考价值。

参考:https://www.cnblogs.com/du-hong/category/1413482.html
requsts.它是一个Python第三方库,处理URL资源特别方便。参考:https://requests.readthedocs.io/zh_CN/latest/user/quickstart.html
一、环境安装
安装requests
pip install requests
二、get请求
1.导入requests后,用get方法就能直接访问url地址,如:https://www.cnblogs.com/canglongdao/
2.这里的r也就是response,请求后的返回值,可以调用response里的status_code方法查看状态码;
3.状态码200只能说明这个接口访问的服务器地址时对的,并不能说明功能OK,一般要查看响应的内容,r.text是返回文本信息
# coding:utf-8
import requests
r=requests.get("https://www.cnblogs.com/canglongdao/")
print(type(r))
print(r.status_code)
print(r.text)

#不带参数
# coding:utf-8
import requests
r=requests.get("https://www.sogou.com/")
#print(dir(r)) #查看r属性列表
print(r.status_code) #状态200代表服务器地址正确,不代表功能ok
print(r.text)
#r.status_code #返回响应状态码
#r.content #字节方式的响应体,会自动解码gzip和deflate压缩
#r.headers #返回响应头,字典格式
#r.text #返回响应内容,字符串方式的响应体,会自动根据响应头部的字符编码进行解码
#r.cookies #返回cookie内容
#r.json() #requests自带json解码器
#r.raw #返回原始响应体
#r.encoding #编码格式
#r.raise_for_status() #非200响应抛出异常
#r.url #获取url
三、params
1.再发送一个带参数的get请求,如在博客园搜索canglongdao,url地址为:https://zzk.cnblogs.com/s/blogpost?w=canglongdao
2.请求参数:w=canglongdao,可以以字典的形式传参:{"w":"canglongdao"}
3.多个参数格式{"key1":"value1","key2":"value2","key3":"value3"}
四、content
1.博客园查找如果用r.text会发现获取的内容报错,因为博客园查找响应内容是gzip压缩的(非text文本)

 

 2.如果在fiddler工具乱码,是可以点击后解码的,在代码里面可以用r.content这个方法,content会自动解码gzip和deflate压缩。

 

 五、response

 1.response的返回内容还有其它更多信息

  --r.status_code  #响应状态码

  --r.content    #字节方式的响应体,会自动为你解码gzip和deflate压缩

  --r.headers     #以字典对象存储服务器响应头,但是这个字典比较特殊,字典键不区分大小写,若键不存在则返回None

  --r.json()      #Requests中内置的JSON解码器

  --r.url      #获取url

  --r.encoding   #编码格式

  --r.cookies     #获取cookie

  --r.raw       #返回原始响应体

  --r.text       #字符串方式的响应体,会自动根据响应头部的字符编码进行解码

  --r.raise_for_status() #失败请求(非200响应)抛出异常


常用框架
#encoding=utf-8
import requests
def xixi(url):
try:
a=requests.get(url)
a.raise_for_status()
a.recoding=a.apparent_encoding
a.encoding=\'utf-8\'
return a.text
except:
return \'未知错误\'

if __name__=="__main__":
a="http://www.sougou.com"
print(xixi(a))

 

 

 

以上是关于python get的主要内容,如果未能解决你的问题,请参考以下文章

ngx-translate实现国际化:this.translate.use()this.translate.get()this.translate.instant()onLangChange(代码片段

常用python日期日志获取内容循环的代码片段

python 有用的Python代码片段

Python 向 Postman 请求代码片段

python [代码片段]一些有趣的代码#sort

使用 Python 代码片段编写 LaTeX 文档