это может быть что-то вроде этого
from urllib.request import urlopen
from bs4 import BeautifulSoup
def retrieve_products_sale(soup):
all_products = soup.find_all('li', class_='grid-tile')
num_of_prods = []
for items in all_products:
if items == class_'price-standard':
num_of_prods.append(items)
print(num_of_prods)
if __name__ == '__main__':
page_count = 0
while page_count <= 990:
url = "https://us.pandora.net/en/charms/?sz=30&start=%d&format=page-element" % page_count
html = urlopen(url)
soup = BeautifulSoup(html, "html.parser")
retrieve_products_sale(soup)
page_count += 30
Если вам нужны все данные в одном списке, используйте список вне функции
from urllib.request import urlopen
from bs4 import BeautifulSoup
def retrieve_products_sale(soup):
all_products = soup.find_all('li', class_='grid-tile')
num_of_prods = []
for items in all_products:
if items == class_'price-standard':
num_of_prods.append(items)
#print(num_of_prods)
return num_of_prods
if __name__ == '__main__':
page_count = 0
all_results = []
while page_count <= 990:
url = "https://us.pandora.net/en/charms/?sz=30&start=%d&format=page-element" % page_count
html = urlopen(url)
soup = BeautifulSoup(html, "html.parser")
all_results += retrieve_products_sale(soup)
page_count += 30
print(all_results)
РЕДАКТИРОВАТЬ: Я не знаю, что вы пытаетесь делать с
if items == class_'price-standard':
, поэтому я использую
for x in items.find_all(class_='price-standard'):
, который дает некоторые результаты (но не на всех страницах)
from urllib.request import urlopen
from bs4 import BeautifulSoup
def retrieve_products_sale(soup):
all_products = soup.find_all('li', class_='grid-tile')
num_of_prods = []
for items in all_products:
for x in items.find_all(class_='price-standard'):
#print(x)
num_of_prods.append(x)
print(num_of_prods)
if __name__ == '__main__':
page_count = 0
while page_count <= 990:
url = "https://us.pandora.net/en/charms/?sz=30&start=%d&format=page-element" % page_count
html = urlopen(url)
soup = BeautifulSoup(html, "html.parser")
retrieve_products_sale(soup)
page_count += 30