Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

É possível fazer scrapping de site com infinite scroll?

Bom dia, Gostaria de saber se é possível fazer scrapping utilizando o BeautifulSoup em sites que se tenha scroll infinito, para apresentar novos produtos. Apenas achei soluções utilizando selenium ou scrapy No site apresenta a seguinte tag:

<input id="auc-app-resoureces" name="appresources" type="hidden" value="{&quot;minChars&quot;:2,&quot;enableInfiniteScroll&quot;:true
,&quot;enableInfiniteScrollPrevious&quot;:false,&quot;defaultPageSize&quot;:24}">

Via código python é possível alterar o PageSize":24 para a quantidade desejada e o enableInfiniteScroll":true para false ?

Abaixo, o código apresentado no curso, seria possível efetuar isso substituindo o pages do código abaixo ou de alguma outra forma ?

# Obtendo o HTML
response = urlopen('https://www.auchan.pt/pt/biologicos-e-escolhas-alimentares/')
html = response.read().decode('utf-8')
soup = BeautifulSoup(html, 'html.parser')
pages = int(soup.find('span',class_="info-pages").get_text().split()[-1])
## Iterando por todas as páginas do site
for i in range(pages):
    ## Obtendo o HTML
    response = urlopen('https://alura-site-scraping.herokuapp.com/index.php?page=' + str(i + 1))

Obrigado pela ajuda.

2 respostas
solução!

Olá John, tudo bem? Espero que sim!

Em sites dinâmicos, onde as informações aparecem conforme a navegação do usuário, é ideal que utilize a biblioteca selenium. Somente com o código HTML da requisição inicial não será suficiente.

Uma alternativa é encontrar a API em que os dados estão sendo recolhidos, caso tenha.

Uma dica para tentar encontrar a url da API é inspencionar a página clicando com o botão direito do mouse e selecionando a opção Inspencionar (tecla de atalho F12), depois seguindo com a opção Network -> Fetch/XHR. Navegue pela página com o inspencionar aberto para ver as atualizações.

Página de inspecionar código do navegador. As abas Network e Fetch/XHR estão destacadas, bem como as requisições na seção Name

Através dos links que aparecem por ali você consegue alterar números de página ou outra informação e ir coletando as informações sem precisar do selenium.

Bons estudos!

Boa tarde João estou bem e contigo ? Muito obrigado, funcionou com a dica indicada, sem ser necessário o selenium, porem se possível seria interessante mais um curso de Scraping 2 com casos mais complexos e mais técnicas.

Obrigado