2 votes

Créer une phrase significative contenant un mot spécifique en python

Je travaille sur un projet dans lequel j'ai un mot (ex. apothéose). Bien que j'aie la signification du mot, je veux aussi afficher une phrase qui utilise le mot spécifique (Ex. Je pense qu'il apprécie son apothéose).

Existe-t-il une bibliothèque python pour réaliser cela ?

1voto

Snehal Ingle Points 31

En fait, après une recherche sur google, j'ai trouvé ce service (par exemple, phrases, mots apparentés, et bien d'autres)

http://developer.wordnik.com/docs#

1voto

shash678 Points 5168

Vous pouvez essayer de gratter https://www.wordreference.com/definition/apotheosis :

import requests
from bs4 import BeautifulSoup
from requests.exceptions import HTTPError

BASE_WORDREFERENCE_URL = 'https://www.wordreference.com/definition/'
EXAMPLE_USAGE_CLASS = 'rh_ex'

def get_example_usages(word: str) -> list[str]:
    url = f'{BASE_WORDREFERENCE_URL}{word}'
    try:
        page = requests.get(url)
        page.raise_for_status()
    except HTTPError as http_err:
        print(f'HTTP error occurred: {http_err}')
    except Exception as err:
        print(f'Other error occurred: {err}')
    else:
        soup = BeautifulSoup(page.content, 'html.parser')
        example_usages = soup.find_all('span', class_=EXAMPLE_USAGE_CLASS)
        if not example_usages:
            raise ValueError(f'No example usages found for {word}')
        return [e.text for e in example_usages]

def main() -> None:
    word = input('Enter a word to lookup example usages: ')
    print(get_example_usages(word))

if __name__ == '__main__':
    main()

Exemple d'utilisation :

Enter a word to lookup example usages: apotheosis
['This poem is the apotheosis of lyric expression.']

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X