0% acharam este documento útil (0 voto)
10 visualizações4 páginas

Robos No Python

O documento aborda a utilização de Python para automação com robôs, incluindo comandos do CMD, uso da biblioteca PyAutoGUI para controle do mouse e teclado, e técnicas de web scraping com Beautiful Soup. Ele também discute a importância do web scraping em comparação com APIs, além de apresentar exemplos práticos de código para extrair dados de HTML. Por fim, menciona o uso da biblioteca Requests para acessar documentos HTML e a automação de processos com Selenium.
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato TXT, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
10 visualizações4 páginas

Robos No Python

O documento aborda a utilização de Python para automação com robôs, incluindo comandos do CMD, uso da biblioteca PyAutoGUI para controle do mouse e teclado, e técnicas de web scraping com Beautiful Soup. Ele também discute a importância do web scraping em comparação com APIs, além de apresentar exemplos práticos de código para extrair dados de HTML. Por fim, menciona o uso da biblioteca Requests para acessar documentos HTML e a automação de processos com Selenium.
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato TXT, PDF, TXT ou leia on-line no Scribd

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

pyautogui.position()
OU PARA SER MAIS FACIL
pyautogui.displayMousePosition()

pyautogui.moveTo(x=...,y=..., duration = 3)

pyautogui.dragTo() vai arrastar o mouse na tela

pyautogui.dragRel(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

pyautogui.screenshot('my_screenshot.png')

pyautogui.screenshot(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

pyautogui.locateOnScreen('tet.png', confidence=0.8)
pip install opencv-python

grayscale desatura a imagem na tela, acelera a localização

MEXENDO COM O TECLADO

pyautogui.typewrite('')
Escreve

Funções do teclado
press()
pyautogui.press('enter')
pyautogui.press('f5')

pyautogui.KEYBOARD_KEYS
Mostra todas as teclas que é possível digitar no press()

formas de apertar o botão


pressionando botões
pyautogui.KeyDown('ctrl')
pyautogui.keyDown('ALT')
pyautogui.keyDown('tab')

Soltando Botões

pyautogui.keyUp('tab')

ou

Pyautogui.hotkey('ctrl','alt','tab')

pyautogui.PAUSE = 1 Define uma pause de 1 segundo por ação, ou seja não precisa
colocar o time a todo momento na pagina

Payutogui.FAILSAFE = 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

robots.txt
é 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].title.string = mostrará apenas o que esta escrito dentro da tag

[objeto].title.name = mostrara o nome da tag

[objeto].title.parent = 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].title.parent.name = mostrará tudo acima mas apenas o nome da tag e não seu
conteudo

[objeto].title.parent.parent.name = 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].div.children) = e ele mostrará apenas os elementos filhos

for i in list(soup.div.children):
print(i.name)

print:

None
p
None

PARA ACESSAR UM LINK NO BS4

soup.a["href"]

PARA FILTRAR MELHOR BASTA USAR O FIND

soup.find("div", id ="idmaluco")

PARA PEGAR UM ELEMENTO QUE CONTEM UMA CLASSA DEVE SE DIGITAR:


soup.find("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

soup.title = achara o titulo da pagina e mostrara tudo de tag a string

soup.find("title") = você pode filtrar melhor

soup.find_all("title") = quando se quer encontrar varios elementos

AQUI COMEÇA A AULA PRATICA, LA NA ABA BeutifulSoup.py 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

requests.get('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.get('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

Você também pode gostar