python的requests.get和requests.post用法以及增加请求次数和超时设置

在平时的学习和工作中,常常会碰到将一堆数据上传到网页或者是从网页端下载数据。
那么我们可以使用python的requests.get和requests.post方法,自动化帮我们上传下载。

封装好的get请求

def get_one_page_by_get(url,headers):
    try:
        response=requests.get(url,timeout=20,headers=headers)
        response.encoding=response.apparent_encoding        
        return response.text
    except RequestException:
        return None

封装好的post请求

def get_one_page_by_post(url,headers,data):
    try:
        response=requests.post(url,timeout=30,headers=headers,data=data)
        return response.text
    except RequestException:
        return None

get或者post增加请求次数

在请求中我们通常会遇到一次请求不成功的情况,那么我们可以通过try块或者session的方式增加请求次数,timeout参数可以设置每次请求超时时长。

  • try块的使用方式
try_time=0
while try_time<3:
    try:
        person_info = get_one_page_by_post(view_url,headers,data)
        person_info = json.loads(person_info)
        break
    except Exception as e:
        # print(e)
        try_time+=1
  • session的方式
s = requests.session()
s.mount('https://', HTTPAdapter(max_retries=5)) # 重试5次
response = s.request("GET", params=params,url=url, timeout=15).text

你可能感兴趣的:(日常杂记,python)