栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python 中Request库详细讲解

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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")



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/323393.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号