Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # coding: utf-8
- # Programa escrito por Eric Breno B. dos Santos
- # Programa apenas com fins didáticos
- # Recomendado rodar em sistemas linux, é necessario instalar o pacote mechanize e cookielib.
- # Para instalar use "sudo apt-get install python-setuptools", "sudo easy install mechanize",
- # "sudo easy install html2text" e "sudo easy install BeatifulSoup"
- #
- #
- ################# Alterar informações nas linhas: 11, 53, 54 E 77. #######################
- links = {"NOME_MATERIA": "LINK_DO_CONTROLE"} #Podem haver vários links
- import mechanize
- import cookielib
- import time
- from os import system
- br = mechanize.Browser()
- url = 'https://150.165.111.151:8443/ControleAcademicoOnline/'
- matric = 'MATRICULA AQUI EM STRING'
- senha = 'SENHA AQUI EM STRING'
- # Prepara para tratar cookies...
- cj = cookielib.LWPCookieJar()
- br.set_cookiejar(cj)
- # Ajusta algumas opções do navegador...
- br.set_handle_equiv(True)
- br.set_handle_gzip(False)
- br.set_handle_redirect(True)
- br.set_handle_referer(True)
- br.set_handle_robots(False)
- br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1)
- # Configura o user-agent.
- # Do ponto de vista do servidor, o navegador agora o Firefox.
- br.addheaders = [('User-agent', 'Mozilla/5.0 (X11;\
- U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615\
- Fedora/3.0.1-1.fc9 Firefox/3.0.1')]
- # Pronto! Agora é navegar, acessando a URL usando o método HTTP GET
- br.open(url)
- # Se existirem formulários, você pode selecionar o primeiro (#0), por exemplo...
- br.select_form(nr=0)
- # Para mostrar os formularios e ver os campos a serem preenchidos,
- # use um for sobre o br.forms()
- for f in br.forms():
- print f
- # Preencher o formulário com os dados de login...
- br.form['login'] = matric
- br.form['senha'] = senha
- # Enviar o formulário usando o método HTTP POST
- br.submit()
- # E finalmente, busque o HTML retornado:
- # html = br.response().read()
- ultimas_infos = ''
- parte_importante = ''
- # sec_url = 'https://150.165.111.151:8443/ControleAcademicoOnline/Controlador?command=AlunoTurmaNotas&codigo=1109103&turma=04&periodo=2015.1'
- def acessa_abre_retorna(link):
- parte_importante = ''
- br.open(link)
- res = br.response().read()
- oi = []
- ultimo = False
- for i in xrange(len(res)):
- if res[i:i+25] in '<td>SEU NOME COMPLETO AQUI DENTRO</td>':
- break
- tds = 0
- ativ = 0
- while tds < 12:
- if res[i] == "<":
- ativ = 1
- if ativ == 1:
- if res[i] == ">":
- ativ = 0
- if ativ == 0:
- parte_importante += res[i]
- if res[i:i+3] in "</td>" and not ultimo:
- ultimo = True
- tds += 1
- else:
- ultimo = False
- i += 1
- return parte_importante
- first_run = True
- while 1:
- system("clear")
- time.ctime()
- print time.strftime('%X %x %Z')
- for link in links:
- parte_importante += link + '\n'
- parte_importante += acessa_abre_retorna(links[link])
- parte_importante += '\n'
- parte_importante += "Terminado com sucesso. Aguarde..."
- print parte_importante
- if parte_importante != ultimas_infos and not first_run:
- print "Algo mudou!"
- print ultimas_infos
- break
- time.sleep(50)
- ultimas_infos = parte_importante[:]
- parte_importante = ''
- first_run = False
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement