Про скачивание файла.
- Получите отладочный OAuth-токен для доступа к диску. (поисковый запрос: "yandex disc api", на официальном сайте есть инструкция, в ней идем по пути: API Диска -> REST API Диска -> Получите OAuth-токен вашего приложения - важная инструкция, на неё будут ссылки ниже)
- Ход получения токена (то же самое указано в офиц. инструкции):
- Входите в аккаунт Яндекс
- Открываете страницу создания приложения
- Вводите имя вашего сервиса, например "Test"
- В пункте Платформа выбираем "Веб-сервисы", В Redirect URL прописываете URL из п 1.4 инстукции выше (позволит получить отладочный токен).
- В пункте Доступ к данным вводим (без кавычек )сначала "cloud_api:disk.app_folder", затем (скорее всего это уже излишний доступ) "cloud_api:disk.read"
- Указываете электронную почту
- Нажимаете "Создать приложение"
- Сохраняете ClientID, он потребуется для получения токена
- Переходите по ссылке в пункте 2.1 инструкции, где вместо <ClientID> вставляете ваш ClientID, сохраняете ваш OAuth-токен
- Далее нужно перейти на тренировочный полигон (из него будут копироваться данные для запросов ... ). Путь к полигону API Диска -> REST API Диска -> Полигон (API Диска - тот, что в первом пункте моего ответа)
- В полигоне вводите ваш OAuth-токен в соответствующую графу
- Переходите в вкладку полигона -> v1/disk/resources: Файлы и папки -> v1/disk/resources/download (получить ссылку на скачивание) (Нажимаете на вкладки, они разворачиваются)
- В "параметрах" в path указываете файл который нужно скачать с диска, например: "Приложения/app_file/file.txt" (при желании вводить путь и имя файла через Python нужно будет формировать путь к файлу и подставлять в url-запрос, при этом url-кодируя кириллицу). Далее нажимаете кнопку "Попробовать!" она порядочно ниже в той же вкладке.
- После нажатия "Попробовать!" появятся поля Curl и URL-запроса, понадобятся в дальнейшем.
- Далее будет идти программа Python, если у вас нет requests -> pip install requests.
import requests
import json
response = requests.get(
'<Вставляете URL-запрос из п 4.1. (см. выше)>',
headers={
'Accept': 'application/json',
'Authorization': 'OAuth <вставляете ваш токен>'
})
download_link = json.loads(response.content.decode('utf-8'))['href']
response = requests.get(download_link)
file_Path = 'downloaded_file.txt'
if response.status_code == 200:
with open(file_Path, 'w') as file:
file.write(response.content.decode('utf-8'))
print('File downloaded successfully')
else:
print('Failed to download file')
Вот код который ищет нужные строки по словам:
search_words = input("Введите данные для поиска: ").split()
file = open('file.txt', 'r')
lines = file.read ().split('\n')
for line in lines:
if any(word in line for word in search_words):
print(line)