Obtenção de todo o texto visível de uma página da Web usando o Selenium
Venho pesquisando no Google o dia todo sem encontrar a resposta, então peço desculpas antecipadamente se já tiver sido respondid
Estou tentando obter todo o texto visível de um grande número de sites diferentes. O motivo é que desejo processar o texto para eventualmente categorizar os sites.
pós alguns dias de pesquisa, decidi que o Selenium era minha melhor chance. Encontrei uma maneira de pegar todo o texto, com o Selenium, infelizmente o mesmo texto está sendo acessado várias vezes:
from selenium import webdriver
import codecs
filen = codecs.open('outoput.txt', encoding='utf-8', mode='w+')
driver = webdriver.Firefox()
driver.get("http://www.examplepage.com")
allelements = driver.find_elements_by_xpath("//*")
ferdigtxt = []
for i in allelements:
if i.text in ferdigtxt:
pass
else:
ferdigtxt.append(i.text)
filen.writelines(i.text)
filen.close()
driver.quit()
Oif
condição dentro dofor
loop é uma tentativa de eliminar o problema de buscar o mesmo texto várias vezes - no entanto, não funciona apenas como planejado em algumas páginas da web. (também torna o script MUITO mais lento)
Acho que o motivo do meu problema é que, ao solicitar o texto interno de um elemento, também recebo o texto interno dos elementos aninhados dentro do elemento em questã
Existe alguma maneira de contornar isso? Existe algum tipo de elemento mestre do qual pego o texto interno? Ou uma maneira completamente diferente que me permitiria alcançar meu objetivo? Qualquer ajuda seria muito apreciada, pois estou sem ideias para est
Edit: a razão pela qual eu usei o Selenium e não o Mechanize and Beautiful Soup é porque eu queria um texto com JavaScri