python中requests库基础应用解析

编辑:光环大数据 来源: 互联网 时间: 2017-11-13 14:30 阅读:

  python中requests库基础应用解析。

python中requests库基础应用解析,python中requests库的基础应用,网页数据挖掘的常用库之一。也就是说最主要的功能是从网页抓取数据。

python2.7下

#coding:utf-8

#python网络爬虫库requests库应用全解

importrequests

importjson

printu'================入门================'

r=requests.get('https://cuiqingcai.com')#返回Response对象

printtype(r)

printr.status_code#获取返回状态

printr.encoding

printr.cookies

printr.raw#返回原始响应体,也就是urllib的response对象,使用r.raw.read()读取

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

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

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

#*特殊方法*#

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

#r.raise_for_status()#功能:如果失败请求(非200响应)抛出异常

printu'================基本请求================'

r=requests.post("https://httpbin.org/post")

r=requests.put("https://httpbin.org/put")

r=requests.delete("https://httpbin.org/delete")

r=requests.head("https://httpbin.org/get")

r=requests.options("https://httpbin.org/get")

printu'================基本GET请求================'

payload={'key1':'value1','key2':'value2'}#字典数据

headers={'content-type':'application/json'}#header数据

r=requests.get("https://httpbin.org/get",params=payload,headers=headers)#payload可以省略,会在网址中添加

printr.url

printu'================基本POST请求================'

url='https://httpbin.org/post'

payload={'some':'data'}

r=requests.post(url,data=json.dumps(payload))#上传json数据

printr.text

url='https://httpbin.org/post'

myfiles={'file':open('test.txt','rb')}#获取文件对象

r=requests.post(url,files=myfiles)#上传文件

printr.text

#withopen('test.txt')asf:#流式上传

#requests.post('https://some.url/streamed',data=f)

printu'================Cookies================'

url='https://httpbin.org/cookies'

r=requests.get(url)#响应中会包含cookie

printr.cookies

url='https://httpbin.org/cookies'

cookies=dict(cookies_are='working')#自定义cookie变量

r=requests.get(url,cookies=cookies)#请求时附带cookie

printr.text

printu'================超时配置================'

requests.get('https://github.com',timeout=1)#1秒没有响应就报错

printu'================会话对象(持久连接)================'

s=requests.Session()

s.get('https://httpbin.org/cookies/set/sessioncookie/123456789')#get方式设置cookie

r=s.get("https://httpbin.org/cookies")#获取cookie

print(r.text)

headers={'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',

'Accept-Encoding':'gzip,deflate,compress',

'Accept-Language':'en-us;q=0.5,en;q=0.3',

'Cache-Control':'max-age=0',

'Connection':'keep-alive',

'User-Agent':'Mozilla/5.0(X11;Ubuntu;Linuxx86_64;rv:22.0)Gecko/20100101Firefox/22.0'}

s=requests.Session()

s.headers.update(headers)#更新header

r=s.get('https://httpbin.org/headers',headers={'x-test':'true'})#get函数中添加的headers会覆盖原有同名,添加不同名的,去除值为None的

printr.text

printu'================SSL证书验证================'

r=requests.get('https://github.com',verify=True)

printr.text

r=requests.get('https://kyfw.12306.cn/otn/',verify=False)#把verify设置为False即可跳过证书验证

printr.text

printu'================证书================'

proxies={

"https":"https://41.118.132.69:4433"

}

r=requests.post("https://httpbin.org/post",proxies=proxies)

printr.text

 

       Python培训Python培训班Python培训机构,就选光环大数据!


大数据培训、人工智能培训、Python培训、大数据培训机构、大数据培训班、数据分析培训、大数据可视化培训,就选光环大数据!光环大数据,聘请专业的大数据领域知名讲师,确保教学的整体质量与教学水准。讲师团及时掌握时代潮流技术,将前沿技能融入教学中,确保学生所学知识顺应时代所需。通过深入浅出、通俗易懂的教学方式,指导学生更快的掌握技能知识,成就上万个高薪就业学子。 更多问题咨询,欢迎点击------>>>>在线客服

你可能也喜欢这些

在线客服咨询

领取资料

X
立即免费领取

请准确填写您的信息

点击领取
#第三方统计代码(模版变量) '); })();
'); })();