Localizar imagens de site com selenium a partir da classe

305 views
Skip to first unread message

Fabiano Almeida

unread,
Oct 7, 2016, 3:41:37 PM10/7/16
to python...@googlegroups.com
Boa tarde,

Estou tentando fazer um script python para fazer downloads das figuras de uma página que tenham a mesma classe.
Estou usando o Selenium. Segue meu código de teste:

# -*- coding: utf-8 -*-
from selenium import webdriver
from selenium.common.exceptions import TimeoutException
import urllib
import sys
import re
import os
phantom = webdriver.PhantomJS()
phantom.set_page_load_timeout(10)
endereco = 'https://www.google.com.br/search?q=fotos+engra%C3%A7adas&newwindow=1&hl=pt-BR&biw=1366&bih=677&site=webhp&source=lnms&tbm=isch&sa=X&sqi=2&ved=0ahUKEwjQy_Dqs8nPAhUCgpAKHcd6CWQQ_AUIBigB'
phantom.get(endereco)
imgs = phantom.find_elements_by_class_name("rg_i")

imgs retorna lista vazia, e pelo que li em http://selenium-python.readthedocs.io/locating-elements.html deveria retornar lista com todos os elementos da classe especificada, no caso rg_i

Podem me ajudar ?

Grato pela atenção,

Fabiano.

Diego Nascimento

unread,
Oct 7, 2016, 4:54:26 PM10/7/16
to python...@googlegroups.com
usa o soup para isso, ou outra biblioteca própria para parser em html.

eu costumo sempre capturar todo o html da página e aí aplico o parser para extrair dados do html, mas separado do selenium, veja um exemplo.




--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
 
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
 
<*> Para sair deste grupo, envie um e-mail para:
python-brasil+unsubscribe@googlegroups.com

---
Você recebeu essa mensagem porque está inscrito no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasil+unsubscribe@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.

Fabiano

unread,
Oct 7, 2016, 5:03:57 PM10/7/16
to Python Brasil
Obrigado Diego, vou dar uma conferida.


---
Você recebeu essa mensagem porque está inscrito no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasi...@googlegroups.com.

pablo.mdi

unread,
Oct 8, 2016, 11:37:10 AM10/8/16
to python...@googlegroups.com
Pelo que sei, o selenium não faz download de arquivos de imagens ou quaisquer outros que não sejam usados diretamente no processamento do html final da página.
Você teria que extrair o src dos elementos img e usar uma outra lib como urllib para baixar as imagens e salva-las.
Ou...  usar uma opção ao selenium, como o ghost.py[1], que faça download.

[]s
Pablo






---
Você recebeu essa mensagem porque está inscrito no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasil+unsubscribe@googlegroups.com.

Para mais opções, acesse https://groups.google.com/d/optout.

Fabiano Almeida

unread,
Oct 10, 2016, 11:26:50 AM10/10/16
to python...@googlegroups.com
Obrigado Pablo, vou estudar o ghost.py
Reply all
Reply to author
Forward
0 new messages