Google scan com interface gráfica
Publicado por Perfil removido (última atualização em 10/10/2013)
[ Hits: 4.953 ]
Esse script retorna as URLs de uma pesquisa feita pelo Google, infelizmente o Google tem proteção contra esse tipo de bot, mas espero que seja útil para alguém.
Eu usei a própria API do Google para fazer as buscas.
#!/usr/bin/env python # -*- coding: utf-8 -*- import urllib2,json from urllib import quote_plus,unquote_plus from gtk import * from sys import exit class GUI: def destroy(self, widget, data=None): exit() def __init__(self): self.window = Window(WINDOW_TOPLEVEL) self.window.set_position(WIN_POS_CENTER) self.window.set_size_request(400, 250) self.window.set_title("Google Dork Scan V0.1") self.window.set_resizable(False) color = gdk.color_parse('#000000') self.window.modify_bg(STATE_NORMAL, color) fix = Fixed() self.lb1 = Label("<span color='green'>Search:</span>") self.lb2 = Label("<span color='green'>Autor: MMxM</span>") self.lb3 = Label("<a href=''><span color='green'>Clear</span></a>") self.lb3.connect("activate-link", self.clear) self.lb1.set_use_markup(True) self.lb2.set_use_markup(True) self.lb3.set_use_markup(True) self.bt1 = Button("Start") self.bt1.connect("clicked",self.busca) self.edit1 = Entry() self.edit1.set_size_request(250, 25) self.view = TextView(buffer = None) self.view.set_size_request(360, 150) sw = ScrolledWindow() sw.set_policy(POLICY_AUTOMATIC, POLICY_AUTOMATIC) sw.add(self.view) self.view.set_editable(False) self.view.set_cursor_visible(False) fix.put(self.lb1, 10, 22) fix.put(self.lb2, 10, 215) fix.put(self.lb3, 340, 215) fix.put(self.bt1, 340, 17) fix.put(self.edit1, 68, 17) fix.put(sw, 15, 55) self.window.add(fix) self.window.show_all() self.window.connect("destroy",self.destroy) def busca(self,widget): if self.edit1.get_text() == '': return try: search = quote_plus(self.edit1.get_text()) n = 0 while True: url = 'http://ajax.googleapis.com/ajax/services/search/web?v=2.0&q=%s&start=%s' %(search,n) req = urllib2.Request(url) response = urllib2.urlopen(req).read() data = json.loads(response) for extract in (data['responseData']['results']): self.view.get_buffer().insert_at_cursor('%s\n'%unquote_plus(extract['url'])) while events_pending(): main_iteration() n += 4 except: self.view.get_buffer().insert_at_cursor('\n100% Complete !!!\n') def clear(self, a, b): self.view.get_buffer().set_text('') return True def main(self): main() if __name__ == "__main__": start = GUI() start.main()
Preço do Dólar, Bitcoin e Euro em Python
Como gerar qualquer emoji ou símbolo unicode a partir do seu teclado
Instalar e Configurar o Slackware Linux em 2025
Como configurar os repositórios do apt no Debian 12 em 2025
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Configurando o Conky para iniciar corretamente no sistema
3 configurações básicas que podem melhorar muito a sua edição pelo editor nano
Como colorir os logs do terminal com ccze
Instalação Microsoft Edge no Linux Mint 22
Como configurar posicionamento e movimento de janelas no Lubuntu (Openbox) com atalhos de teclado
firefox nao guarda meus logins nos sites (1)
Instalar debian testing (13) "por cima" do debian 12 (2)
Erro de segmentação «Segmentation fault (core dumped)» ao retornar obj... (1)