Robos no Python
Utilizando CMD
o comando CD navega de pasta em pasta
o comando mkdir cria uma pasta basta colocar um nome apos esse comando
dir ve o conteudo da pasta
para voltar uma pasta basta digitar CD ..
pip install intala bibliotecas
PYAUTOGUI
[Link]()
OU PARA SER MAIS FACIL
[Link]()
[Link](x=...,y=..., duration = 3)
[Link]() vai arrastar o mouse na tela
[Link](150,150, duration=2)
é um drag relativamente da onde o mouse ja estava
PARA PARAR É SO MOVER O MOUSE PARA O TOPO ESQUERDO
Tirar screenshots
[Link]('my_screenshot.png')
[Link](region=(0,0,300,400))
Confidence - ele melhora a precisão que o python deve localizar a imagem na tela,
as vezes não consegue localizar devido a pequeas diferenças de pixels
[Link]('[Link]', confidence=0.8)
pip install opencv-python
grayscale desatura a imagem na tela, acelera a localização
MEXENDO COM O TECLADO
[Link]('')
Escreve
Funções do teclado
press()
[Link]('enter')
[Link]('f5')
pyautogui.KEYBOARD_KEYS
Mostra todas as teclas que é possível digitar no press()
formas de apertar o botão
pressionando botões
[Link]('ctrl')
[Link]('ALT')
[Link]('tab')
Soltando Botões
[Link]('tab')
ou
[Link]('ctrl','alt','tab')
[Link] = 1 Define uma pause de 1 segundo por ação, ou seja não precisa
colocar o time a todo momento na pagina
[Link] = poder arrastar o mouse para o topo esquerdo caso de algum erro
ou o usuario não queira completar o programa
É POSSIVEL apenas clicar em win + r e digitar o URL do navegador e ele abrirá
apartir dali mesmo
para executar o programa pelo cmd basta achar o caminho e digitar "python" e logo
após o nome pasta que o programa foi colocado ".py" que será como dar um play
WEB SCRAPING
por que web scraping e não API, alguns sites não a fornecem, a melhor maneira de
extrair dados é com eles mas alguns sites não o tem
o Webscraping
Acessa o HTML e extrai informações úteis, é o termo para descrever um programa que
extrai e processa grandes quantidades de dados
ele extrai dados automaticamente e apresenta de forma legível ao usuário
Diminui drasticamente o tempo necessario para extrair uma quantidade grande de
dados
presição
[Link]
é uma pagina de regras para um robo, protocolo de exclusão de robos
BEAUTIFUL SOUP
Biblioteca de python que extrai dados dearquivos HTML e XML, extrai tablas, listas,
parágrafos e também pode colocar filtros para info
EXEMPLO DE CODIGO PARA ARQUIVO INTERNO
from bs4 import BeautifulSoup
html_file = open("generic_simple.html", mode="r", encoding="utf-8")
soup = BeautifulSoup(html_file)
depois do nome as coisas que são colocadas depois resumindo em miudos significa o
Beautiful soup podera ler caracteres especias
PARA MOSTRAR A CAPACIDADE DO BEAUTIFUL SOUP
print(dir([objeto criado]soup)) O objeto soup foi criado mais acima
Tambêm pode usar o help
print(help(soup)) e depois ir apertando enter e ele mostrara toda hora
E para sair basta apertar "q"
OUTRA FORMA DE MOSTRAR O OBJETO CRIADO NA TELA
Alem de poder digitar o print([objeto])
pode-se digitar [objeto].prettify() isso mostrará na tela com /n indicando quebra
de linha
Tem o [objeto].get_text() Esse pegará apenas o texto do html
get_text().replace('\n',' ') isso trocará os \n por espaços
[objeto].title = resultara em mostrar o titulo da pagina mas mostrará como se fosse
o innerHTML do javascript junto do texto e tags
[objeto].[Link] = mostrará apenas o que esta escrito dentro da tag
[objeto].[Link] = mostrara o nome da tag
[objeto].[Link] = mostrará de qual tag ele é filho, o title fica dentro do
head então mostrará head e seu conteudo todas as string e filhos que ele tem
[objeto].[Link] = mostrará tudo acima mas apenas o nome da tag e não seu
conteudo
[objeto].[Link] = mostrará o html por exemplo o parent ira
mostrando os elemento pais de todos
CHILDREN = mostra todos que estão dentro daquele elemento pai
list([objeto].[Link]) = e ele mostrará apenas os elementos filhos
for i in list([Link]):
print([Link])
print:
None
p
None
PARA ACESSAR UM LINK NO BS4
soup.a["href"]
PARA FILTRAR MELHOR BASTA USAR O FIND
[Link]("div", id ="idmaluco")
PARA PEGAR UM ELEMENTO QUE CONTEM UMA CLASSA DEVE SE DIGITAR:
[Link]("div", class_ = "article")
`Esse icone de underline significa elemento classe que
"contem" article
PARA MOSTRAR QUANTOS ELEMENTOS DESSES TEM
len(soup.find_all('div', class_='article')) = Mostrara quando elementos que estão
numa div e tem classe article
soup.find_all('div', class_='article')[0] mostra quantos elementos tem
RESUMO
[Link] = achara o titulo da pagina e mostrara tudo de tag a string
[Link]("title") = você pode filtrar melhor
soup.find_all("title") = quando se quer encontrar varios elementos
AQUI COMEÇA A AULA PRATICA, LA NA ABA [Link] que criei, continuação
lá.....0
PARA LIMPAR O CMD BASTA DIGITAR cls
COMO USAR O BEAUTIFUL SOUP EM OUTROS SITES NA WEB
Bibioteca requests
permite que requisite o documento html de sites sem precisar abrir o navegador
[Link]('link')
if page.status_code == 200: o page status mostra se deu ou não deu certo a extração
dos dados do link, se deu o valor vai dar 200 se não deu errado
for link in soup.find_all('a'):
print([Link]('href', 'erro')) o get ajuda para se der erro na busca
dos href a mensagem de erro que foi escrita como string aparecerá
SELENIUM
Ajuda a automatizar processos
webdriver = é um servidor web que faz com que o selenium consiga conectar ao
browser