Novo em web scraping, perdoe a pergunta básica, mas estou tentando extrair URLs de filmes de listas no Letterboxd e estou tendo alguns problemas. Usando esta lista como exemplo, consegui encontrar a localização do link no HTML aqui:
No entanto, não consigo tirar o link disso. Eu tentei dois métodos até agora. Primeiro tentei pegar todos os elementos do link, na esperança de filtrar aqueles que não precisava:
library(rvest)
link <- 'https://letterboxd.com/horrorville/list/horrorville-community-80s-video-store-horror/'
page <- read_html(link)
page %>%
html_elements('a') %>%
html_attr('href')
Isso retornou URLs, mas nenhum deles era realmente dos filmes da lista. Tentei então selecionar com base no nome da classe. Não tenho muita familiaridade com HTML, mas meu entendimento é que ele class="frame has-menu"
indica duas classes separadas frame
e has-menu
que podem ser combinadas no rvest separando-as por pontos, então tentei isso:
page %>%
html_elements('.frame.has-menu') %>%
html_attr('href')
Isso não retornou nada.
Eu vi essa outra pergunta que parecia semelhante, então tentei examinar a guia Rede das ferramentas de desenvolvimento do meu navegador (Firefox), conforme sugerido pelo respondente. Eu não tinha certeza do que fazer com isso, mas parecia que as solicitações relacionadas aos filmes estavam usando solicitações GET, enquanto na outra pergunta o respondente disse que o problema é que o rvest não consegue lidar com solicitações POST. Qual é o meu problema aqui?
Foram necessárias algumas tentativas e erros para encontrar a parte HTML correta que contém os URLs individuais (talvez outra pessoa possa adicionar algo a esta postagem se houver uma maneira mais rápida e eficiente de chegar à parte HTML correta). Usei as ferramentas de desenvolvedor do Chrome (clique com o botão direito em qualquer página> Inspecionar) e examinei o código para ver onde estão os URLs dos filmes.
Existem duas páginas para o URL dos filmes, então pegamos os dois URLs das páginas e percorremos. O
data-target-link
atributo contém apenas parte do URL, então anexamos o URL do site a ele para obter o caminho completo.