¿Cómo se realiza una consulta de búsqueda en Google usando Python? ¿Cómo se almacenan los resultados de búsqueda en un documento de Microsoft Word?Búsqueda de Google con Python
Respuesta
Ver esta pregunta
Contiene respuesta de Alex Martelli (Python 2.6) y un puerto de Python 3 también. Debería poder modificarlo en consecuencia. Utiliza el JSON y urllib que @Aphex menciona
Me parece que las respuestas allí usan la ahora desactivada API de búsqueda web:
@JohnY: sí, pero la [API de búsqueda personalizada] (http://code.google.com/apis/customsearch/v1/getting_started.html) requiere que configure los sitios en los que desea buscar; cómo lo configura. hasta buscar en toda la web, no solo un subconjunto? – Day
@Día: No lo sé. No lo he usado La última vez que leí algo al respecto, no me pareció tan fácil como debería ser. Creo que Google está tratando de desalentar a las personas de usar su búsqueda en toda la web, pero tampoco sé la razón de eso. –
http://code.google.com/apis/customsearch/v1/getting_started.html
http://code.google.com/apis/customsearch/v1/using_rest.html
API de búsqueda personalizada de Google parece ser lo que estás buscando. Primero deberá obtener una clave API; entonces parece que le permiten hacer hasta 100 búsquedas por día.
Use urllib2
para buscar la URL y simplejson
para descodificarla. (Busque en Google estos paquetes si aún no los tiene.) Puede usar json.load()
para convertir la respuesta en un diccionario de Python del que pueda leer fácilmente. ¡Feliz hacking!
Editar: En cuanto a la creación del documento de Word, usted tiene una variedad de opciones, se detalla aquí: How can I create a Word document using Python?
Uso del provided API. Primero regístrese para obtener una clave de API here. Luego puede usar el paquete urllib2
de Python para buscar los resultados, p.
import urllib2
import json
import pprint
data = urllib2.urlopen('https://www.googleapis.com/customsearch/v1?key=YOUR_KEY_HERE&cx=017576662512468239146:omuauf_lfve&q=lectures')
data = json.load(data)
pprint.PrettyPrinter(indent=4).pprint(data['items'][0]) # Print the raw content of the first result
que emite
{ 'cacheid': 'TxVqFzFZLOsJ',
'displayLink': 'www.stanford.edu',
'htmlSnippet': 'Apr 7, 2010 \\u003cb\\u003e...\\u003c/b\\u003e Course materials. \\u003cb\
\u003eLecture\\u003c/b\\u003e slides \xc2\xb7 \\u003cb\\u003eLecture\\u003c/b\\u003e videos (2
008) \xc2\xb7 Review sessions. \\u003cbr\\u003e Assignments. Homework \xc2\xb7 Reading. Exams
. Final exam \\u003cb\\u003e...\\u003c/b\\u003e',
'htmlTitle': 'EE364a: \\u003cb\\u003eLecture\\u003c/b\\u003e Videos',
'kind': 'customsearch#result',
'link': 'http://www.stanford.edu/class/ee364a/videos.html',
'snippet': 'Apr 7, 2010 ... Course materials. Lecture slides \xc2\xb7 Lecture videos (2008
) \xc2\xb7 Review sessions. Assignments. Homework \xc2\xb7 Reading. Exams. Final exam ...',
'title': 'EE364a: Lecture Videos'}
Por favor asegúrese de reemplazar YOUR_KEY_HERE
con su clave .
Para crear un documento de MS Word de Python, lea this question.
Esta respuesta es peligrosa. Rompe con ciertas respuestas (raras) y contiene una falla de seguridad de ejecución de código remoto. (marcog: Sé que has puesto un comentario sobre "¡Ten cuidado con la información no confiable!". Pero hay muchas personas que ignorarán esa advertencia porque "funciona, por qué debería cambiarla". Luego escribirán código peligroso). Consulte también http://stackoverflow.com/questions/1083250/running-json-through-pythons-eval – user9876
Sí, ¿por qué usar 'eval()' cuando puede usar 'json.load()' mucho más seguro? – Aphex
@ user9876 @Aphex Cambiado en la respuesta. No estoy muy familiarizado con el procesamiento json en Python, así que gracias por señalarlo. – marcog
una pregunta por el precio de dos preguntas:
En primer lugar - que desea realizar una consulta de búsqueda en Google utilizando con Python Idiomas.
Segundo: Desea guardar los resultados de búsqueda en un documento de Microsoft Word.
Hola, me gusta Autohotkey Tools with Python Languages.
Si lo desea, realice las secuencias de comandos de movimientos de la computadora con las combinaciones de teclas.
Puede intentar utilizar el software AutoPythonLauncher en su sistema Windows. Para obtener más información Click Here o consulte este Youtube Video, puede ver lo que puede hacer.
Con esta herramienta puede hacer (Barras de herramientas) y crear un conjunto de imágenes clicables con secuencias de comando de Python.(Atajos de teclado Combinaciones)
1 - contestar la primera pregunta:
Con este código, se puede seleccionar cualquier texto y hacer dirigir un BUSQUEDA GOOGLE con parámetros de consulta (ejemplo: nosotros, 50 resultados)
Con AutoPythonLauncher puede elegir una imagen y escribir en el editor de comandos este código de Python.
Guarde y reinicie AutoPythonLauncher y puede usarlo como LANZADOR. Seleccione cualquier texto y haga clic con su dispositivo MOUSE o TOUCH en esa imagen, y está listo.
# US - SEARCH
# Firefox Mozilla Browser - Chrome Browser - Internet Explorer Browser - Microsoft Edge Browser
if WindowExists("MozillaWindowClass") or WindowExists("Chrome_WidgetWin_1") or WindowExists("CLASS:IEFrame"):
pyautogui.hotkey('ctrl', 'c') #copy the selected text to clipboard 1 memory
time.sleep(0.2) #wait 0.2 seconds
pyautogui.hotkey('ctrl', 't') # CTRL+t make a new tab + goto address bar - use CTRL+L for the active tab + goto address bar
time.sleep(0.2) #wait 0.2 seconds
texta = "https://www.google.com/search?q="
a = tk.Tk()
textb = a.clipboard_get() # read the clipboard memory and put in variable textb
textc = "&lr=lang_us&hl=us&num=50" # google parameters [us - United States]
pyautogui.typewrite(texta + textb + textc)
pyautogui.hotkey('enter')
2 - Responder a la segunda pregunta:
elegir una imagen y escribir en el Editor de comandos de Python este Código. Con esto puede guardar el (ejemplo: us 50 resultados) en un archivo.
import pyautogui
import time
time.sleep(.750)
pyautogui.hotkey('Ctrl','a') #select all
time.sleep(.750)
pyautogui.hotkey('Ctrl','c') #Copy to clipboard Memory
time.sleep(.750)
#run notepad - If you want to use wordpad you can change the code a litte bid
#######################
import pywinauto
pywinauto.Application().start(r"c:\windows\system32\notepad.exe")
#######################
#this will put All the text into notepad
#######################
time.sleep(2)
pyautogui.hotkey('Ctrl','v') #paste the clipboard Memory.
#######################
#Save a File - "Save as..."
#######################
time.sleep(2)
pyautogui.hotkey('Alt','f','a') #Many Programs use Shortcut Alt+f+a to "Save as..."
time.sleep(.750)
pyautogui.typewrite('c:\\test\\test.txt',0)
time.sleep(2)
pyautogui.hotkey('enter')
#######################
Oh, usas pywinauto para iniciar la aplicación, pero nada más. Para este simple caso, 'subprocess.Popen (" notepad.exe ")' es suficiente. Pero pywinauto tiene funciones mucho más poderosas que hacen espera automática para abrir una ventana. Por lo tanto, no tiene que agregar llamadas 'time.sleep' codificadas. No sé por qué usa solo el 1% de la potencia de Python. –
@ Vasily Ryabov - 1 - paquetes de pywinauto puede hacer muchas cosas más que solo iniciar la aplicación que es la razón por la que sí elegí este comando. 2 - Y ahora puedes reemplazar time.sleep (2) en ** pywinauto.Application(). WindowSpecification.Wait ('enabled') ** (esperar hasta ** Exist ** Ventana de Notepad) - pero aún así no trabajo que probé, la computadora necesita un poco más tiempo para ** existir ** y luego ** activar ** la ventana del Bloc de notas - y para principiantes es simple explicar el tiempo de comando.sleep (2) - y los usuarios siempre pueden cambiar los tiempos de suspensión para acelerar los movimientos de macro. – stevecody
Podría estar bien explicar el escenario no funcional en más detalles. Recientemente hicimos algunas correcciones al método '.wait' (en 0.6.3). Entonces me sorprende que todavía no funcione. –
- 1. búsqueda de Python con imagenes de google images
- 2. Búsqueda de código fuente con Google Desktop
- 3. Búsqueda de Google desde una aplicación de Python
- 4. Búsqueda de Google usando la secuencia de comandos python
- 5. Google App Engine (python): API de búsqueda: String Search
- 6. Normal Búsqueda personalizada de Google
- 7. API de búsqueda de Google
- 8. ¿Puedes usar Google Apps Script con Python?
- 9. Google Docs API con Python
- 10. Google API para Python
- 11. motor de búsqueda de Google y paginación
- 12. Búsqueda avanzada de cadenas de python
- 13. Búsqueda de comodines en Appengine en python
- 14. java google búsqueda personalizada api
- 15. Google búsqueda personalizada página siguiente
- 16. Google API de búsqueda - Número de Resultados
- 17. ¿Búsqueda personalizada de Google con un cuadro y botón de búsqueda personalizados?
- 18. ¿Cómo puedo hacer una búsqueda con la API de búsqueda personalizada de Google para .NET?
- 19. ¿Google tiene una API de búsqueda básica?
- 20. Google Maps API 3 cuadro de búsqueda
- 21. Uso de la API de búsqueda personalizada de Google con Ruby google-api-client
- 22. Búsqueda de texto completo como Google
- 23. Primer resultado de búsqueda de Google (¿SEO?)
- 24. Obtenga resultados de búsqueda de Google programáticamente
- 25. Google books Búsqueda de API por ISBN
- 26. Python Oauth2 - inicie sesión con Google
- 27. ¿Qué es un buen analizador de Python para una consulta de búsqueda tipo google?
- 28. secuencia de comandos de Python para "búsqueda de Google por la imagen"
- 29. el mejor motor de búsqueda escrito con python
- 30. ¿Cómo ejecuto una búsqueda de WHOIS con PHP o Python?
Suponiendo que usted quiere saber realmente cómo hacerlo, usted tiene al menos dos preguntas separadas aquí: 1. ¿Cómo se "buscar una cierta entrada de Google sobre el uso de Python" (supongo que quiere decir "la búsqueda para ", no" búsqueda ", es decir: la" entrada determinada "es la consulta, no el corpus, ¿verdad?). 2. ¿Cómo se almacena la información en un archivo "doc" (un archivo .doc de Microsoft Word u otra cosa?). –
Para el futuro, tenga en cuenta que debe hacer estas preguntas como dos preguntas separadas, ya que no están muy relacionadas. – marcog