python根据url下载大量图片,python通过链接下载文件

这篇文章主要介绍了python通过链接下载压缩文件,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。

使用Python中提供的urllib.request下载网上的文件

#coding=utf-8

"""

目标:提供一个函数能够从网上下载资源

输入:

url列表

保存路径

输出:

保存到指定路径中的文件

要求:

能够实现下载过程,即从0%到100%可视化

"""

# =====================================================

from six.moves import urllib

import os

import sys

def download_and_extract(filepath, save_dir):

"""根据给定的URL地址下载文件

Parameter:

filepath: list 文件的URL路径地址

save_dir: str 保存路径

Return:

None

"""

for url, index in zip(filepath, range(len(filepath))):

filename = url.split('/')[-1]

save_path = os.path.join(save_dir, filename)

urllib.request.urlretrieve(url, save_path)

sys.stdout.write('\r>> Downloading %.1f%%' % (float(index + 1) / float(len(filepath)) * 100.0))

sys.stdout.flush()

print('\nSuccessfully downloaded')

def _get_file_urls(file_url_txt):

"""根据URL路径txt文件,获取URL地址列表

Parameter:

file_url_txt: str txt文件本地路径

Return:

filepath: list URL列表

"""

filepath = []

file = open(file_url_txt, 'r')

for line in file.readlines():

line = line.strip()

filepath.append(line)

file.close()

return filepath

if __name__ == '__main__':

file_url_txt = 'file_url_txt.txt'

save_dir = 'save_dir/'

filepath = _get_file_urls(file_url_txt)

download_and_extract(filepath, save_dir)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 你可以使用 Python 的 `urllib` 库来下载网页文件。具体的方法是: 1. 首先使用 `urllib.request.urlopen` 函数打开网页链接,这会返回一个文件对象。 2. 然后使用文件对象的 `read` 方法读取文件内容。 3. 最后使用文件操作(如 `open` 函数)将文件内容写入本地文件。 下面是一个简单的示例代码: ```python import urllib.request # 打开网页链接 response = urllib.request.urlopen("http://www.example.com/index.html") # 读取网页内容 html = response.read() # 将网页内容写入本地文件 with open("index.html", "w") as f: f.write(html) ``` 注意,这里的 `html` 变量是一个字节类型的字符串,如果你需要转换为文本,可以使用 `html.decode` 方法将其转换为字符串。 ```python text = html.decode("utf-8") ``` 还有一些注意事项: - 有些网站会对爬虫进行反爬虫,因此你可能需要使用一些库(如 `requests`)或者设置 HTTP 头信息来伪装成浏览器。 - 如果网站使用了 gzip 压缩,你可能需要使用 `gzip` 库解压缩文件内容。 - 在下载大量文件时,你应该注意流量控制,以免对网站造成过大 ### 回答2: 可以使用Python中的requests模块来下载网页文件。以下是一个简单的示例代码: ```python import requests url = "http://example.com/file.pdf" # 要下载文件URL save_path = "path/to/save/file.pdf" # 文件保存的路径和名称 # 发起GET请求下载文件 response = requests.get(url) # 检查请求是否成功 if response.status_code == 200: # 以二进制方式保存文件 with open(save_path, 'wb') as file: file.write(response.content) print("文件下载成功!") else: print("请求失败,无法下载文件。") ``` 在代码中,首先需要指定要下载文件URL和保存的文件路径和名称。然后使用requests模块的get函数发起一个GET请求,将服务器响应的内容保存在response对象中。检查请求的状态码是否为200,如果是,则将response的内容以二进制方式写入文件,保存到指定的路径中。 注意,上述代码中的URL需要替换为实际要下载文件URL,以及保存的文件路径和名称也需要根据实际情况修改。如果下载的是其他类型的文件(如图片、视频等),可以使用相同的代码进行下载。 ### 回答3: 使用Python下载网页文件可以使用requests库来实现。首先,需要安装requests库,可以使用以下命令来安装: ``` pip install requests ``` 接下来,可以使用以下代码来下载网页文件: ```python import requests def download_file(url, path): response = requests.get(url) with open(path, "wb") as file: file.write(response.content) print("文件下载完成!") url = "https://www.example.com/example.html" # 替换成需要下载的网页链接 path = "example.html" # 替换成保存文件的路径和名称 download_file(url, path) ``` 在代码中,`download_file`函数接受两个参数,`url`表示需要下载的网页链接,`path`表示保存文件的路径和名称。使用`requests.get`方法发送GET请求,并通过`response.content`获取响应的二进制内容,然后使用`open`函数以二进制写入的模式打开文件,并将内容写入文件中即可。 以上是通过Python下载网页文件的方法。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值