Il est possible de le faire. La configuration est... pas très simple, mais le résultat final est que vous pouvez rechercher sur le web entier à partir de python, avec quelques lignes de code.
Il existe 3 principales étapes au total.
1ère étape: obtenir la clé API Google
Le pygoogles'états de la page:
Malheureusement, Google ne prend plus en charge de l'API SOAP pour la recherche, ni
- ils fournir de nouvelles clés de licence. En un mot, PyGoogle est assez
beaucoup de morts à ce point.
Vous pouvez utiliser leur API AJAX de la place. Jetez un oeil ici pour un exemple de code:
http://dcortesi.com/2008/05/28/google-ajax-search-api-example-python-code/
... mais en fait vous ne pouvez pas utiliser AJAX API, soit. Vous devez obtenir une clé API Google. https://developers.google.com/api-client-library/python/guide/aaa_apikeys Pour la simple utilisation à des fins expérimentales, je suggère "la clé du serveur".
2ème étape: configuration du Moteur de Recherche Personnalisé de sorte que vous pouvez rechercher sur le web entier
En effet, l'ancienne API n'est pas disponible. La meilleure nouvelle API qui est disponible dans la Recherche Personnalisée. Il semble soutenir seuls la recherche dans des domaines spécifiques, cependant, après cette SORTE de réponse , vous pouvez rechercher sur le web entier:
- De la Recherche Personnalisée Google page d'accueil ( http://www.google.com/cse/ ), cliquez sur Créer un Moteur de Recherche Personnalisé.
- Tapez un nom et une description pour votre moteur de recherche.
- En vertu de Définir votre moteur de recherche dans les Sites de la zone de Recherche, entrez au moins une URL valide (Pour l'instant, il suffit de mettre www.anyurl.com pour obtenir
passé cet écran. Plus sur cela plus tard ).
- Sélectionnez la CSE de l'édition que vous voulez et accepter les Conditions de Service, puis cliquez sur Suivant. Sélectionnez l'option de mise en page que vous souhaitez, puis cliquez sur
Prochaine.
- Cliquez sur les liens dans les Prochaines étapes de la section pour accéder à votre panneau de Contrôle.
- Dans le menu de gauche, sous Panneau de configuration, cliquez sur l'essentiel.
- Dans les Préférences de Recherche, sélectionnez Rechercher dans le web dans son intégralité, mais de souligner inclus sites.
- Cliquez Sur Enregistrer Les Modifications.
- Dans le menu de gauche, sous Panneau de configuration, cliquez sur Sites.
- Supprimer le site que vous avez entré lors de la configuration initiale.
Cette approche est également recommandée par Google: https://support.google.com/customsearch/answer/2631040
3ème étape: installation de l'API Google client pour Python
pip install google-api-python-client
, plus d'info ici:
4ème étape (bonus): faire de la recherche
Donc, après cette mise en place, vous pouvez suivre les exemples de code à partir de quelques places:
et à la fin ceci:
from googleapiclient.discovery import build
import pprint
my_api_key = "Google API key"
my_cse_id = "Custom Search Engine ID"
def google_search(search_term, api_key, cse_id, **kwargs):
service = build("customsearch", "v1", developerKey=api_key)
res = service.cse().list(q=search_term, cx=cse_id, **kwargs).execute()
return res['items']
results = google_search(
'stackoverflow site:en.wikipedia.org', my_api_key, my_cse_id, num=10)
for result in results:
pprint.pprint(result)
Après quelques réglages, vous pouvez écrire quelques fonctions qui se comportent exactement comme votre extrait de code, mais je vais sauter cette étape ici.