Guest User

fa

a guest
May 22nd, 2022
152
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.74 KB | None | 0 0
  1. import requests
  2. from bs4 import BeautifulSoup
  3. import sys
  4.  
  5. headers = {
  6.     "accept": "*/*",
  7.     "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) "
  8.                   "Chrome/101.0.4951.67 Safari/537.36 "
  9. }
  10.  
  11. languages = {1: 'Arabic',
  12.              2: 'German',
  13.              3: 'English',
  14.              4: 'Spanish',
  15.              5: 'French',
  16.              6: 'Hebrew',
  17.              7: 'Japanese',
  18.              8: 'Dutch',
  19.              9: 'Polish',
  20.              10: 'Portuguese',
  21.              11: 'Romanian',
  22.              12: 'Russian',
  23.              13: 'Turkish'}
  24.  
  25.  
  26. def text(soup):
  27.     save('{language} Translations:'.format(
  28.         language=soup.find(id="trg-selector").find('span', class_="option front").text))
  29.     for _, wd in zip(range(5), soup.find_all(class_="display-term")):
  30.         save(wd.text)
  31.     save('\n{language} Examples:'.format(
  32.         language=soup.find(id="trg-selector").find('span', class_="option front").text))
  33.     for _, sentence in zip(range(5), soup.find_all(class_="example")):
  34.         for sen in sentence.find_all(class_="text"):
  35.             save((sen.text[12:]))
  36.         save("\n")
  37.  
  38.  
  39. def text_all(soup):
  40.     save('{language} Translations:'.format(
  41.         language=soup.find(id="trg-selector").find('span', class_="option front").text))
  42.     save(soup.find(class_="display-term").text)
  43.     save('\n{} Example:'.format(
  44.         soup.find(id="trg-selector").find('span', class_="option front").text))
  45.     sentence = soup.find(class_="example")
  46.     for sen in sentence.find_all(class_="text"):
  47.         save((sen.text[12:]))
  48.     save("\n")
  49.  
  50.  
  51. def out(language1, language2, word):
  52.     if language2 == 'all':
  53.         for value in languages.values():
  54.             if value.lower() != language1:
  55.                 site = requests.get('https://context.reverso.net/translation/{}-{}/{}'. \
  56.                                     format(language1.lower(),
  57.                                            value.lower(),
  58.                                            word.lower()), headers=headers)
  59.                 text_all(BeautifulSoup(site.content, 'html.parser'))
  60.     else:
  61.         site = requests.get('https://context.reverso.net/translation/{}-{}/{}'. \
  62.                             format(language1.lower(),
  63.                                    language2.lower(),
  64.                                    word.lower()), headers=headers)
  65.         text(BeautifulSoup(site.content, 'html.parser'))
  66.  
  67.  
  68. def save(sen):
  69.     file = open('{}.txt'.format(word), 'a+', encoding='utf-8')
  70.     file.writelines(sen + '\n')
  71.     print(sen)
  72.     file.close()
  73.  
  74.  
  75. if __name__ == '__main__':
  76.     language1 = sys.argv[1]
  77.     language2 = sys.argv[2]
  78.     word = sys.argv[3]
  79.     out(language1, language2, word)
  80.  
Advertisement
Add Comment
Please, Sign In to add comment