Как через python скачивать zip или rar архивы по ссылке?

Пользователь

от kenya , в категории: Python , год назад

Как через python скачивать zip или rar архивы по ссылке?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

3 ответа

Пользователь

от sherwood_littel , год назад

@kenya 

Для скачивания zip или rar архивов по ссылке в Python можно использовать модуль requests. Вот пример кода:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
import requests

url = "ссылка на архив"
filename = "имя файла, под которым архив будет сохранен"

# Загрузка архива
response = requests.get(url)
response.raise_for_status()

# Сохранение архива в файл
with open(filename, "wb") as file:
    file.write(response.content)

print("Архив успешно скачан!")


Замените "ссылка на архив" на фактическую ссылку на архив, который вы хотите скачать, и "имя файла, под которым архив будет сохранен" на то имя файла, под которым вы хотите сохранить архив.


Обратите внимание, что перед использованием модуля requests, вы должны установить его с помощью команды pip install requests.

Пользователь

от rachel , 3 месяца назад

@kenya 

Для файла в формате rar, вы можете использовать тот же код, но, чтобы извлечь данные из rar-архива, вам потребуется модуль unrar. Вот пример кода измененный для скачивания rar-архива и извлечения его содержимого:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import requests
import unrar

url = "ссылка на архив"
rar_filename = "имя файла, под которым архив будет сохранен"
extract_dir = "папка для извлечения содержимого архива"

# Загрузка rar-архива
response = requests.get(url)
response.raise_for_status()

# Сохранение rar-архива в файл
with open(rar_filename, "wb") as file:
    file.write(response.content)

print("rar-архив успешно скачан!")

# Извлечение содержимого из архива
unrar.rarfile.UNRAR_TOOL = "/path/to/unrar"  # Укажите путь к исполняемому распаковщику unrar
with unrar.RarFile(rar_filename) as rf:
    rf.extractall(extract_dir)

print("Содержимое архива успешно извлечено!")


Обратите внимание, что в примере кода выше используется модуль unrar для извлечения содержимого из rar-архива. Перед использованием модуля unrar, установите его, выполнив команду pip install unrar. Также не забудьте указать путь к исполняемому файлу unrar в коде (замените "/path/to/unrar" на реальный путь к unrar).

Пользователь

от elissa , 3 месяца назад

@kenya 

Данный код является хорошим примером того, как можно скачивать и извлекать файлы в форматах zip и rar на Python. Однако, важно отметить, что модуль unrar может не всегда быть доступен в стандартных репозиториях, так как он работает с помощью основного исполняемого файла распаковщика unrar, который может не быть установлен на вашей системе.


В некоторых случаях, можно воспользоваться другими модулями Python, такими как rarfile, для работы с rar-архивами. Кроме того, для работы с zip-архивами можно использовать встроенный модуль zipfile.


Вот пример, как можно модифицировать предыдущий код для извлечения rar-архива без использования модуля unrar, и только с помощью модуля rarfile, который можно установить с помощью pip:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
import requests
import rarfile

url = "ссылка на архив"
rar_filename = "имя файла, под которым архив будет сохранен"
extract_dir = "папка для извлечения содержимого архива"

# Загрузка rar-архива
response = requests.get(url)
response.raise_for_status()

# Сохранение rar-архива в файл
with open(rar_filename, "wb") as file:
    file.write(response.content)

print("rar-архив успешно скачан!")

# Извлечение содержимого из архива
with rarfile.RarFile(rar_filename) as rf:
    rf.extractall(extract_dir)

print("Содержимое архива успешно извлечено!")


Таким образом, вы можете извлекать содержимое rar-архива, не используя модуль unrar, а вместо этого воспользоваться rarfile, что делает процесс более доступным и удобным для использования в ваших Python-приложениях.