¿Existe algún software o herramienta que pueda obtener las primeras 10 URL de una consulta de búsqueda de Google?

Puede hacerlo solo con una simple llamada a la biblioteca python urllib2. La url simple es:
https://ajax.googleapis.com/ajax/services/search/web?v=1.0&rsz=large&q=.
Hay muchos parámetros que puede modificar, pero esto proporciona los resultados básicos de Google en un formato fácil.
Consulte Búsqueda personalizada – Desarrolladores de Google para obtener más información.

De lo contrario, también puede obtener el resultado mediante una simple consulta http://www.google.com/q= y luego analizar la página (usando beautifulsoup u otros) para obtener los resultados, pero esto viola los TOS de Google.
Estos son los métodos más fáciles que conozco que he probado, aunque no conozco ninguna otra herramienta sofisticada, pero que yo sepa, esta URL es suficiente para cualquier tipo de consulta de Google.
Código :
url = “https://ajax.googleapis.com/ajax/services/search/web?v=1.0&rsz=large&q=”
req = urllib2.Request (url, encabezados = hdr)
f = urllib2.urlopen (req)
data = json.load (f)
top_results = list ()
q1 = datos [“responseData”] [“resultados”] [i] [“unescapedUrl”]
top_results.append (q1)

ACTUALIZACIÓN : También puede jugar con esta url:
Google Code Playground

Puede usar herramientas como Clasificación web avanzada.

Pero hay algunas notas importantes:

  1. A Google no le gusta que lo raspen. Si va a hacer esto a escala, aleatorice los agentes de usuario, el tiempo entre raspados y, si es posible, su dirección IP.
  2. Google cambia el código detrás de sus clasificaciones. Entonces, si está tratando de analizar las clasificaciones individuales del contenido raspado, querrá vigilar eso.

Comprar una herramienta como AWR realmente vale la pena.

Scrapebox tomará las primeras diez URL y otros pocos millones si desea un término de búsqueda.