python 中Request库详细讲解

import requests
# response = requests.get('http://www.baodu.com') #获取
# print(type(response)) #打印类型
# print(response.status_code)#打印状态码
# print(response.cookies)#打印缓存
# print(response.text)
# ###各种请求方式
# requests.post('https://httpbin.org/post')
# requests.put('http://httpbin.org/put')
# requests.delete('http://httpbin.org/delete')
# requests.head('http://httpbin.org/get')
# requests.options('http://httpbin.org/get')

###基本get请求params对应data
#response = requests.get('http://httpbin.org/get')
# data = {
#     'name':"yanglong",
#     'age':29
# }
# response = requests.get('http://httpbin.org/get',params=data)  #以字典的形式传递给params
# #response = requests.get('http://httpbin.org/get?name=yanglong&age=29')
# print(response.text)

###解析json
# import requests
# import json #导入库,json是轻量级的数据交换格式,全名JAVAscript object Notaiton.是标记符的序列,包含
#六个构造字符、字符串、数字、和三个字面名。json是序列化的对象或数组
# response = requests.get('http://httpbin.org/get')
# print(type(response))
# print(response.status_code)
# print(response.text)
# print(response.json())
print(json.loads(response.text)) #json格式下载与response.json()结果是相同的。
# print(type(response.json()))
####获取二进制数据
# import requests
# response = requests.get('https://vd2.bdstatic.com/mda-mjacpyhix1fyaycj/cae_h264_nowatermark/1633943433694054279/mda-mjacpyhix1fyaycj.mp4')
# with open('E:\python file\网页爬取学习\java.mp4','wb') as f:
#     f.write(response.content)
#     f.close()
# print(response.content)
# print(response.text)
# print(type(response.content))
# ##添加headers
# import requests
# headers = {
# 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36'
# }
# response = requests.get('https://www.zhihu.com/explore',headers=headers)
# # print(response.text)
# #####基本POST请求data对应data
# import requests
# data = {
#     'name':'yanglong',
#     'age':29
# }
# headers ={
# 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36'
# }
# response = requests.post('http://httpbin.org/post',data=data,headers=headers)
# print(type(response.json))
# print(response.json())
# ##########响应response
# import requests
# response = requests.get('http://www.jianshu.com')
# print(type(response.status_code),response.status_code)
# print(response.headers)
# print(type(response.cookies),response.cookies)
# print(type(response.url),response.url)
# print(type(response.history),response.history)

#######状态码判断
# import requests
# response = requests.get('http://www.baidu.com')
# # #exit()if not response.status_code == requests.codes.not_found else print('404 not found')
# # exit()if not response.status_code == 200 else print('requests sucessfully')

# # ######高级操作
# #文件上传
# import requests
# files = {'file':open('java.mp4','rb')}  #定义文件,打开文件,上传。
# response = requests.post('http://httpbin.org/post',files=files)
# print(response.text)
# print(response.json())
#
# # ####获取cookie
# # import requests
# # response = requests.get('http://www.baidu.com')
# # print(response.cookies)
# # for key,value in response.cookies.items(): #items 项目
# #     print(key + "=" + value)
# ##会话保持,模拟登录,
# import requests
# s = requests.Session()
# s.get('http://httpbin.org/cookies/set/number/12345678')
# response = s.get('http://httpbin.org/cookies')
# print(response.text)

# ###证书验证
# import requests
# from requests.packages import urllib3
# urllib3.disable_warnings()  #关闭warn告警信息
# #response = requests.get('https://12306.cn')  #提示SSL错误,验证
# response = requests.get('https://www.12306.cn',verify=False)  #访问成功,出现warning信息
# #response = requests.get('https://www.12306.cn',cert=('/path/server.crt','/path/key'))  #指定证书路径,主机无证书。
# print(response.status_code) #打印状态码
######代理学习
###超时设置
import requests
from requests.exceptions import ReadTimeout,HTTPError,RequestException #请求异常库导入readtimeout
try:
    response = requests.get('http://httpbin.org/get',timeout=0.1) #设置为0.1秒报错。
    print(response.status_code)
except ReadTimeout:
    print('Timeout')
except HTTPError:
    print('Httperror')
except RequestException:
    print("Error")



  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

PythonYL学习进阶

朋友,一起学习,请多多支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值