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