Я пытаюсь получить все продукты со страницы, используя красивый суп. Страница имеет нумерацию страниц, и для ее решения я сделал цикл, чтобы заставить извлечение работать для всех страниц.
Но когда я перехожу к следующему шагу и пытаюсь найти теги find_all (), он выдает только данные с последней страницы.
Если я попытаюсь работать с одной изолированной страницей, она будет работать нормально, поэтому я рад, что проблема с получением всех html-страниц со всех страниц.
Мой код следующий:
import pandas as pd
import numpy as np
from bs4 import BeautifulSoup
import urllib3 as ur
http = ur.PoolManager()
base_url = 'https://www.kiwoko.com/tienda-de-perros-online.html'
for x in range (1,int(33)+1):
dog_products_http = http.request('GET', base_url+'?p='+str(x))
soup = BeautifulSoup(dog_products_http.data, 'html.parser')
print (soup.prettify)
и те, которые он закончил:
soup.find_all('li', {'class': 'item product product-item col-xs-12 col-sm-6 col-md-4'})
Как я уже сказал, если я не использую для диапазона и получаю только одну страницу (пример: https://www.kiwoko.com/tienda-de-perros-online.html?p=10,, она работает нормально и дает мне 36 продуктов.
Я скопировал "суп" в файл слова и произвел поиск в классе, чтобы выяснить, есть ли проблема, но есть все продукты 1.153, которые я ищу.
Итак, я думаю, что суп правильный, но, поскольку я ищу «больше, чем один HTML», я не думаю, что найти все работает хорошо.
¿В чем может быть проблема?