@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.
@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).
@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-приложениях.