Domanda Motori Di Ricerca Con Ricerche Multiple

mrcamarium

Utente Silver
7 Gennaio 2022
108
25
6
56
Sto cercando di creare un programma in grado di aprire una pagine di un motore di ricerca per ogni parola presente in un file dizionario, ma non succede nulla, cioè ho solo risposte da terminale "nessun risultato" ma non apre il browser.
Python:
# Legge il file dizionario.txt
with open('dizionario.txt', 'r') as file:
    parole = file.read().splitlines()

# Funzione per cercare su Bing
def cerca_su_bing(query):
    api_key = 'YOUR_BING_API_KEY'
    url = f'https://api.bing.microsoft.com/v7.0/search?q={query}'
    headers = {'Ocp-Apim-Subscription-Key': api_key}
    response = requests.get(url, headers=headers)
    return response.json()

# Esegui la ricerca per ogni parola nel dizionario e apri le pagine nel browser
for parola in parole:
    risultati = cerca_su_bing(parola)
    print(f'Risultati per "{parola}":')
    if 'webPages' in risultati:
        for risultato in risultati['webPages']['value']:
            print(f'Titolo: {risultato["name"]}\nURL: {risultato["url"]}\n')
            try:
                webbrowser.open(risultato["url"])
                time.sleep(2)  # Pausa di 2 secondi
            except Exception as e:
                print(f"Errore nell'aprire il link: {e}")
                print(f"Puoi aprirlo manualmente: {risultato['url']}")
    else:
        print('Nessun risultato trovato.\n')
 
Ciao, forse le query non sono codificate correttamente nell' URL e per questo la ricerca non va a buon fine. Prova ad usare quote per codificare opportunamente le query string. Importa la libreria e modifica la linea di codice dell'URL con quella che ho scritto e vedi se risolvi.

Python:
from requests.utils import quote

url = f'https://api.bing.microsoft.com/v7.0/search?q={quote(query)}'