Api dadata ИНН
Запрос через Api с помощью ИНН реквизиты компании. Результат в буфер обменаuser_2065311
python
a year ago
3.5 kB
12
Indexable
// write your code import requests import pyperclip import tkinter as tk from tkinter import filedialog # Функция для получения данных из файла def get_data_from_file(file_path): with open(file_path, 'r') as file: return file.read().splitlines() # Функция для получения данных из буфера обмена def get_data_from_clipboard(): return pyperclip.paste().splitlines() # Функция для отправки запросов в DaData def query_dadata(inns, token): url = "https://suggestions.dadata.ru/suggestions/api/4_1/rs/findById/party" headers = { "Authorization": "Token " + token, "Content-Type": "application/json" } results = [] for inn in inns: response = requests.post(url, headers=headers, json={"query": inn}) if response.status_code == 200: results.append(response.json()) else: results.append({"error": "Request failed with status code " + str(response.status_code)}) return results # Функция для форматирования результатов в читаемый вид def format_results(results): formatted_text = "ИНН | Наименование | КПП | ОГРН | Адрес | Статус | Дата регистрации | Руководитель\n" formatted_text += "--- | --- | --- | --- | --- | --- | --- | ---\n" for result in results: if 'suggestions' in result and result['suggestions']: suggestion = result['suggestions'][0] data = suggestion['data'] inn = data.get('inn', '') name = data.get('name', {}).get('full_with_opf', '') kpp = data.get('kpp', '') ogrn = data.get('ogrn', '') address = data.get('address', {}).get('unrestricted_value', '') status = data.get('state', {}).get('status', '') registration_date = data.get('state', {}).get('registration_date', '') management_name = data.get('management', {}).get('name', '') formatted_text += f"{inn} | {name} | {kpp} | {ogrn} | {address} | {status} | {registration_date} | {management_name}\n" else: formatted_text += "Ошибка запроса или данные отсутствуют\n" return formatted_text # Функция для сохранения результатов в буфер обмена def save_results_to_clipboard(results): formatted_results = format_results(results) pyperclip.copy(formatted_results) # Основная логика скрипта def main(): token = "тут вставляем ключ API" # Выбор источника данных data_source = input("Введите 'file' для выбора файла или 'clipboard' для использования буфера обмена: ") if data_source == 'file': root = tk.Tk() root.withdraw() file_path = filedialog.askopenfilename() inns = get_data_from_file(file_path) else: inns = get_data_from_clipboard() # Отправка запросов и получение результатов results = query_dadata(inns, token) # Сохранение результатов в буфер обмена save_results_to_clipboard(results) print("Результаты сохранены в буфер обмена.") if __name__ == "__main__": main()
Editor is loading...