python requests.get()下载文件

Requests 是用Python语言编写,基于 urllib,采用 Apache2 Licensed 开源协议的 HTTP 库。它比 urllib 更加方便,可以节约我们大量的工作,完全满足 HTTP 测试需求。Requests 的哲学是以 PEP 20 的习语为中心开发的,所以它比 urllib 更加 Pythoner。

当把get函数的stream参数设置成False时,它会立即开始下载文件并放到内存中,如果文件过大,有可能导致内存不足。
当把get函数的stream参数设置成True时,它不会立即开始下载,当你使用iter_content或iter_lines遍历内容或访问内容属性时才开始下载。需要注意一点:文件没有下载之前,它也需要保持连接。
iter_content:一块一块的遍历要下载的内容
iter_lines:一行一行的遍历要下载的内容

使用上面两个函数下载大文件可以防止占用过多的内存,因为每次只下载小部分数据。
参考一:

    url_file = 'http://172.16.81.129:8000/api/v1/nms/sus/download/kedacom/dj000/3.0.0.0/common.zip/'
    File = requests.get(url_file, stream=True)
    if (os.path.exists('/opt/data/sus/version/kedacom/dj000/3.0.0.0')):
        pass
    else:
        os.makedirs('//opt//data//sus//version//kedacom//dj000//3.0.0.0')
    with open("/opt/data/sus/version/kedacom/dj000/3.0.0.0/common.zip",'wb+') as f:
        # 分块写入文件
        for chunk in File.iter_content(chunk_size=1024):
            if chunk:
                f.write(chunk)
    f.close()

参考二:

r = requests.get(url_file, stream=True)
f = open("file_path", "wb")
for chunk in r.iter_content(chunk_size=512):
    if chunk:
        f.write(chunk)

官网

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Pythonrequests库中的requests.get()方法可以用于向指定URL发送HTTP GET请求,并返回响应结果。requests.get()方法可以接受以下参数: 1. url: 必须参数,用于指定要发送请求的URL地址。 2. params: 可选参数,用于向URL中添加查询参数,可以是字典、元组列表、字节序列或文件对象。 3. headers: 可选参数,用于指定请求头部信息,可以是字典类型。 4. cookies: 可选参数,用于指定请求时携带的Cookie信息,可以是字典类型。 5. auth: 可选参数,用于指定请求时使用的认证信息,可以是HTTP认证、Oauth或自定义认证等类型。 6. timeout: 可选参数,用于设置请求超时时间,可以是浮点数或元组类型。 7. allow_redirects: 可选参数,用于指定是否允许重定向,默认为True。 8. proxies: 可选参数,用于指定代理服务器,可以是字典类型。 9. verify: 可选参数,用于设置SSL证书验证方式,默认为True。 10. stream: 可选参数,用于指定是否使用流模式传输数据,默认为False。 以上就是requests.get()方法常用的参数,希望对你有帮助。 ### 回答2: Python Requests是一个方便易用的HTTP库,可以用来发送各种HTTP请求。requests.get()是其中一个常用函数,用于向目标URL发送HTTP GET请求,并返回相应的响应对象。requests.get()函数包含多个参数,下面是一些重要的参数: 1. params参数:用于将参数添加到请求URL中,以便在查询字符串中传递参数。例如,params={'name': 'John', 'age': 30}将生成类似于'www.example.com?name=John&age=30'的请求URL。 2. headers参数:用于设置HTTP请求头部。例如,headers={'User-Agent': 'Mozilla/5.0'}将向服务器发送指定的User-Agent。 3. timeout参数:用于设置超时时间,单位为秒。例如,timeout=10表示如果在10秒内没有响应,则抛出一个TimeoutException异常。 4. proxies参数:用于设置代理服务器。例如,proxies={'http': 'http://user:password@proxy.example.com:8080'}将使用指定的代理服务器发出请求。 5. auth参数:用于设置HTTP基本身份验证。例如,auth=('user', 'password')将发送一个包含基本身份验证的请求。 6. verify参数:用于设置SSL验证。如果verify设置为True,则会验证SSL证书;如果verify设置为False,则会忽略SSL证书验证。 7. allow_redirects参数:用于设置是否允许重定向。如果allow_redirects设置为True,则会启用重定向;如果allow_redirects设置为False,则不会启用重定向。 这些参数是requests.get()函数中的一些重要参数,可以帮助我们更好地控制和定制发送的HTTP请求,并获取响应结果。 ### 回答3: Python是一种很流行的编程语言,而requestsPython库中用来发送HTTP/1.1请求的。requests库支持多种HTTP方法,包括GET、POST、PUT、DELETE等。本文主要介绍requests库中get方法的参数。 requests.get是发送GET请求的方法,其参数主要包括以下几个: - url:请求的URL地址,可以使用字符串或者是URL对象。 - params:请求的参数,可以使用字符串、字典、列表或者元组。 - headers:请求头部信息,包括User-Agent、Cookies、Authorization等。 - cookies:用于识别用户身份的Cookie信息。 - timeout:请求超时的时间,默认单位是秒。 - verify:是否验证SSL证书,默认为True。 - allow_redirects:是否自动重定向,默认为True。 - proxies:代理设置,可选。 - stream:是否使用流式传输数据,默认为False。 - cert:客户端证书,可选。 其中,参数url和param是最基本的两个参数。url是请求的URL地址,params是请求的参数。请求参数可以使用字符串、字典、列表或元组类型传递,requests会自动将其转换成字符串形式拼接在URL后面。例如: ```python import requests response = requests.get('http://httpbin.org/get', params={'username': 'user'}) print(response.url) ``` 输出结果为:http://httpbin.org/get?username=user headers参数用于传递请求头部信息,可以设置我们需要的User-Agent、Authorization、Cookies等信息。例如: ```python import requests headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3', 'Cookie': 'user=anonymous' } response = requests.get('http://httpbin.org/get', headers=headers) print(response.text) ``` Cookies和timeout参数也是常用的,用于设置Cookie和请求超时时间。例如: ```python import requests cookies = {'user': 'anonymous'} response = requests.get('http://httpbin.org/get', cookies=cookies) print(response.text) import requests response = requests.get('http://httpbin.org/get', timeout=5) print(response.text) ``` 以上是请求数据中常用的参数,其余参数例如verify、proxies、stream、cert等在特定场景下使用。请求过程中可能抛出一些异常,需要使用try/except捕获异常,例如: ```python import requests try: response = requests.get('http://httpbin.org/status/404') response.raise_for_status() except requests.exceptions.HTTPError as e: print('HTTPError:', e) except requests.exceptions.ConnectionError as e: print('ConnectionError:', e) except requests.exceptions.Timeout as e: print('Timeout:', e) except requests.exceptions.RequestException as e: print('RequestException:', e) ``` 以上就是对Python requests.get方法的参数的详细介绍。掌握这些参数的用法,对于正确发送HTTP请求和获取响应内容非常有帮助。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值