Sei que já faz um tempo, maaas...
Eu estava fazendo uma pequena investigação sobre um tópico que está ficando bem conhecido na internet: Setealém
Cheguei num ponto que, pra confirmar minha teoria eu teria que caçar uma comunidade no falecido orkut
F
Eu sabia que o google tinha feito isso de disponibilizar os arquivos do orkut a muito tempo e depois fechado e apagado tudo...
Então fui correndo pro Wayback Machine
Fiquei uns instantes passando as páginas da letra 'S' e me deparo com isso:
Você não pode acessar mais de 15 páginas por minuto (no meu caso fui barrado com bem menos páginas)
No começo pensei que utilizar Python 3 com Selenium seria um boa. Mas ele teria que ser bem lento
Fora que o site do wayback já é travado que só
Fiz o bot rapidinho aqui e ta funcionando de boas
Código ae:
from time import sleep
from selenium.webdriver.common.by import By
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.support.ui import WebDriverWait
import socket
nome = input("Nome da Comunidade: ")
ordem = [None,None,'A','B','C','D','E','F','G','H','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']
def element_presence(by,xpath,time):
element_present = EC.presence_of_element_located((By.XPATH, xpath))
WebDriverWait(driver, time).until(element_present)
def is_connected():
try:
# connect to the host -- tells us if the host is actually
# reachable
socket.create_connection(("www.google.com", 80))
return True
except :
is_connected()
driver = webdriver.Chrome(executable_path="chromedriver.exe")
driver.get("https://web.archive.org/web/20141002205918/https://orkut.google.com/") #Chamando o site do Wayback Machine
sleep(5) #Aguardando carregar
aux = nome[0].upper()
if aux in ordem:
i = ordem.index(aux)
else:
i = 1
try:
element_presence(By.XPATH,'/html/body/div[7]/div',30)
index_button =driver.find_element(By.XPATH , '/html/body/div[7]/div/a[{}]'.format(i))
index_button.click()
except Exception as e:
print("erro")
sleep(10)
is_connected()
nome1 = ''
fpage = 0
while nome1 != nome:
nome1 = ''
element_presence(By.XPATH,'/html/body/div[5]/div/div[2]',30)
for x in range(2,103):
coms = driver.find_element(By.XPATH ,'/html/body/div[5]/div/div[2]/div[{}]'.format(x))
nome1 = coms.text
#print(nome1)
if nome in nome1:
print(nome1,"encontrado.")
input("Tecle enter para continuar buscando >")
if fpage == 0:
next_page = driver.find_element_by_xpath("""/html/body/div[5]/div/div[2]/div[1]/div/a""").click()
fpage = 1
next_page = driver.find_element_by_xpath("""/html/body/div[5]/div/div[2]/div[1]/div/a[3]""").click()
sleep(5)
print(nome1,"encontrado.")
Pra rodar ele você precisa ter o Python 3 e instalar o Selenium (dã)
$ pip install selenium
Tu vai precisar do Chrome Driver (ele tem que estar na mesma pasta do código)
Explicação básica do funcionamento:
Ele vai pedir o nome da comunidade ;
Ele vai abrir a tela inicial e selecionar a letra (nesse caso S);
Depois disso ele vai percorrer os 100 itens da página, e esperar 10 segundos;
Quando ele achar (se ele achar) ele vai te mostrar o que achou e perguntar se quer continuar procurando
Caso queira ver ele percorrendo é só tirar descomentar o
#print(nome1)
Não é muito preciso, muito menos rápido... Mas funciona kkkkkk
Da pra refinar ele bastante, mas a maior limitação mesmo é o próprio Wayback.
Em 2 minutos e meio ele percorre 15 páginas, o que equivalem a 1500 comunidades.
Espero que te ajude XD
Se quiser colocar outras datas de captura só mudar o link aqui na linha 25:
driver.get("https://web.archive.org/web/20141002205918/https://orkut.google.com/")
Coloquei uma de 2014, de inicio. Mas creio que o "acervo" deles não aumentou tanto, visto que o orkut já tinha fechado a essa altura
Vou deixar ele rodando aqui até achar algo relevante pra minha web-caçada a mistérios
Boa noite :D