· 6 years ago · Jan 31, 2020, 01:14 PM
1import requests
2import bs4
3import argparse
4import pyperclip
5from pprint import pprint
6from colorama import init, Fore
7from time import time
8from googlesearch import search
9
10init()
11
12INFO = (f'{Fore.GREEN}[~]{Fore.RESET}')
13GOOD = (f'{Fore.GREEN}[+]{Fore.RESET}')
14BAD = (f'{Fore.RED}[-]{Fore.RESET}')
15
16
17# загрузка аргументов коммандной строки
18def load_arguments():
19 arg = argparse.ArgumentParser()
20 arg.add_argument('-a', '--api', help='Строка содержащая API ключ Яндекс.Переводчик')
21 arg.add_argument('-l', '--api-location', help='Расположение файла с API ключем Яндекс.Переводчик')
22
23
24# получение иностранных сайтов при помощи google и выбор одного из них
25def get_url(pattern='site:*.pl'):
26 query = pattern
27 max_results = 10
28 search_results = search(query,
29 tld='com',
30 lang='en',
31 num=max_results,
32 start=0,
33 stop=max_results,
34 pause=2.0)
35 search_results_enumarated = {}
36 print('index\tURL')
37 for num, url in enumerate(search_results):
38 search_results_enumarated[num] = url
39 print(f'{num}\t{url}')
40 while 1:
41 try:
42 index = input('index >> ')
43 if index.isdecimal():
44 if int(index) >= 0 or int(index) <= max_results:
45 work_url = search_results_enumarated[int(index)]
46 break
47 raise ValueError
48 except Exception:
49 print(BAD, 'Ошибка ввода, повторите еще раз.')
50 print(GOOD, 'Выбранная ссылка', work_url)
51 return work_url
52
53exit()
54article_text = 'Dude, shut the door!'
55# перевод текста статьи через API Яндекс.Переводчика
56start_time = time()
57detect_language = {
58 'url': 'https://translate.yandex.net/api/v1.5/tr.json/detect',
59 'params': {
60 'key': api_key,
61 'text': article_text
62 }
63}
64detected_language = requests.get(
65 detect_language['url'], params=detect_language['params']).json()['lang']
66translate = {
67 'url': 'https://translate.yandex.net/api/v1.5/tr.json/translate',
68 'params': {
69 'key': api_key,
70 'text': article_text,
71 'lang': detected_language + '-ru'
72 }
73}
74translated_article = detected_language = requests.get(
75 translate['url'], params=translate['params']).json()
76print(good, 'Статья переведена за', start_time - time())
77# добавление в буфер офбмена переведенного текста
78pyperclip.copy(translated_article['text'][0])