¿Alguien me puede ayudar a escribir una secuencia de comandos python que busca en google e imprime los enlaces de los resultados principales?Búsqueda de Google usando la secuencia de comandos python
Respuesta
Tal vez, algo como esto?
import urllib import json as m_json query = raw_input ('Query: ') query = urllib.urlencode ({ 'q' : query }) response = urllib.urlopen ('http://ajax.googleapis.com/ajax/services/search/web?v=1.0&' + query).read() json = m_json.loads (response) results = json [ 'responseData' ] [ 'results' ] for result in results: title = result['title'] url = result['url'] # was URL in the original and that threw a name error exception print (title + '; ' + url)
Leer la documentación http://docs.python.org/
¿Esto da solo cinco resultados? – user567879
Esta API ya no está disponible. Tenemos que usar https://developers.google.com/custom-search/ –
es mejor sugerido el uso de las API de Google sino una versión muy feo .. (alternativa a utilizar la API de Google) puede filtrar el contenido si desea
import os, urllib, sys
filename = 'http://www.google.com/search?' + urllib.urlencode({'q': ' '.join(sys.argv[1:]) })
cmd = os.popen("lynx -dump %s" % filename)
output = cmd.read()
cmd.close()
print output
imprimirá exactamente lo que un navegador debería mostrar cuando busque algo en google
interesante para "lynx -dump" – mt3
Normalmente obtengo buenos resultados con 're' (módulo de expresión regular) para" volcar "el código fuente de páginas. En caso de que no esté disponible el uso de Linux; o) – heltonbiker
Hay otra biblioteca genial llamada xgoogle. Puedes usar eso en el caso. Aquí está el enlace http://www.catonmat.net/blog/python-library-for-google-search/
from pygoogle import pygoogle
g = pygoogle('quake 3 arena')
g.pages = 5
print '*Found %s results*'%(g.get_result_count())
g.get_urls()
Dude que acaba de copiar y pegar eso de pygoogle, que ya no funciona fyi. Usted proporcionó cero explicaciones también. – reticentroot
Como @Zloy Smiertniy señaló, la respuesta se puede encontrar here.
Sin embargo, si está utilizando Python 3 la sintaxis de raw_input
, urllib
ha cambiado, y hay que decodificar response
. Por lo tanto, para Python 3 uno puede usar:
import urllib
import urllib.request
import json
url = "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&"
query = input("Query:")
query = urllib.parse.urlencode({'q' : query })
response = urllib.request.urlopen (url + query).read()
data = json.loads (response.decode())
results = data [ 'responseData' ] [ 'results' ]
for result in results:
title = result['title']
url = result['url']
print (title + '; ' + url)
En python3 recibo este error: el objeto 'módulo' no tiene atributo 'analizar' –
Hmm ... extraño. Debería estar allí de acuerdo con https://docs.python.org/3/library/urllib.html. Me di cuenta de que, después de volver a ejecutar el script, tenía que agregar 'import urllib.request' (ahora en la respuesta actualizada), así que tal vez' import urllib.parse' podría ayudar en su caso. También tenga en cuenta que después de volver a ejecutar el script, tuve problemas para obtener un resultado para 'response', por lo que el' url' puede haber cambiado desde que utilicé el script la última vez. Lo mejor de la suerte –
Esta API ya no está disponible, la alternativa es [google-custom-search] (https://developers.google.com/custom-search/). – ands
Soy un novato de Python. Solo mi idea simple para una búsqueda en Google.
import webbrowser
lib=raw_input("Enter what you want to search for:")
ur="https://www.google.co.in/gfe_rd=cr&ei=Q7nZVqSBIMSL8QeBpbOoDQ#q="
webbrowser.open_new(ur+lib)
Esto no hace realmente lo que se pidió; realiza una búsqueda en Google abriendo una ventana del navegador, pero el código de Python nunca recibe los resultados de búsqueda para mostrar (o manipular). – Mogsdad
Prueba esto, es muy fácil de usar: https://pypi.python.org/pypi/google
Docs: https://breakingcode.wordpress.com/2010/06/29/google-search-python/
Github: https://github.com/MarioVilas/google
instalar este paquete python y su uso es tan tan simple como esto:
# Get the first 5 hits for "google 1.9.1 python" in Google Pakistan
from google import search
for url in search('google 1.9.1 python', tld='com.pk', lang='es', stop=5):
print(url)
http://www.geeksforgeeks.org/performing-google-search-using-python-code/ – JerryGoyal
intente lo siguiente:
import webbrowser
lib = input()
url = "https://www.google.co.in/search?q=" +(str(lib))+ "&oq="+(str(lib))+"&gs_l=serp.12..0i71l8.0.0.0.6391.0.0.0.0.0.0.0.0..0.0....0...1c..64.serp..0.0.0.UiQhpfaBsuU"
webbrowser.open_new(url)
Esto no responde a la pregunta del OP. Simplemente abre la página en una ventana del navegador (aunque OP solicitó el script de python) y no imprime los resultados (enlaces). – ands
He usado API SERP para lograr esto.
Las instrucciones son bastante simples:
pip install google-search-results
y el uso es:
from lib.google_search_results import GoogleSearchResults
query = GoogleSearchResults({"q": "coffee"})
json_results = query.get_json()
Más usos avanzados están en Github.
- 1. secuencia de comandos de Python para "búsqueda de Google por la imagen"
- 2. La secuencia de comandos PHP no puede obtenerse desde la secuencia de comandos de Python
- 3. Búsqueda de Google con Python
- 4. Pasando el valor de la secuencia de comandos PHP a la secuencia de comandos de Python
- 5. Subir carpetas desde el sistema local a FTP usando la secuencia de comandos de Python
- 6. Enviar un correo electrónico utilizando la secuencia de comandos python
- 7. En la secuencia de comandos de Python, ¿cómo configuro PYTHONPATH?
- 8. La secuencia de comandos de vigilancia Python no funciona correctamente
- 9. ¿Cómo "detener" y "reanudar" la secuencia de comandos de Python?
- 10. cargue un archivo en Google Docs a través de una secuencia de comandos de Python
- 11. Usando "apt-get install xxx" dentro de la secuencia de comandos de Python
- 12. ¿cómo detengo la ejecución en una secuencia de comandos python?
- 13. ¿CÓMO usar Pycharm para depurar la secuencia de comandos python?
- 14. comprimir/archivar carpeta usando la secuencia de comandos php
- 15. usando la secuencia de comandos expect in bash
- 16. La secuencia de comandos de Python sabe cuánta memoria está usando
- 17. Cómo cambiar el temporizador keepalive de tcp usando la secuencia de comandos python?
- 18. Argumento booleano para la secuencia de comandos
- 19. secuencia de comandos para buscar el PageRank del dominio
- 20. descarga CSV de Google Insight para la búsqueda
- 21. (pero no de ejecución) una secuencia de comandos de Python
- 22. Reinicio de una secuencia de comandos python autoactualizable
- 23. Hacer una secuencia de comandos de Python Orientado a objetos
- 24. Ejecutando MSTest UnitTests usando una secuencia de comandos de MSBuild
- 25. ¿Cómo desarmo una secuencia de comandos de Python?
- 26. Ejecutar (remota) secuencia de comandos php desde (local) secuencia de comandos pitón
- 27. ¿Podemos subir archivos a documentos de google a través de la secuencia de comandos de shell de linux o python?
- 28. ¿Asincronizar la secuencia de comandos de vim?
- 29. oauth google usando python
- 30. búsqueda de Python con imagenes de google images
Estoy seguro de que alguien puede. ¿Qué has escrito hasta ahora? – jball
¿O qué tan básico de ayuda estás buscando? [Principiantes] (http://stackoverflow.com/questions/207701/python-tutorial-for-total-beginners)? Comenzar con [web scraping] (http: // stackoverflow.com/questions/2081586/web-scraping-with-python)? – jball
@jball aún no he codificado. Soy nuevo en Python. Aprendí la estructura básica de la codificación en python. Por lo tanto, para implementar la búsqueda en Google, puede sugerirme dónde comenzar. ¿Qué tipo de módulos usar? – sudh