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")
python 中Request库详细讲解
最新推荐文章于 2024-04-23 16:42:17 发布