Ich versuche, alle Kategorien und Unterkategorien innerhalb einer Einzelhandels-Website zu erhalten. Ich bin in der Lage, BeautifulSoup zu verwenden, um jedes einzelne Produkt in der Kategorie zu ziehen, sobald ich darin bin. Ich bin jedoch mit der Schleife für Kategorien schwer. Ich benutze dies als Test-Website https://www.uniqlo.com/us/en/womenPython Web Scraping - Schleife durch alle Kategorien und Unterkategorien
Wie durchschlinge ich jede Kategorie sowie die Unterkategorien auf der linken Seite der Website? Das Problem ist, dass Sie auf die Kategorie klicken müssen, bevor die Website alle Unterkategorien anzeigt. Ich möchte alle Produkte innerhalb der Kategorie/Unterkategorie in eine CSV-Datei extrahieren. Das habe ich bisher:
import bs4
import json
from urllib.request import urlopen as uReq
from bs4 import BeautifulSoup as soup
myurl = 'https://www.uniqlo.com/us/en/women/'
uClient = uReq(myurl)
page_html = uClient.read()
uClient.close()
page_soup = soup(page_html,"html.parser")
filename = "products.csv"
file = open(filename,"w",newline='')
product_list = []
containers = page_soup.findAll("li",{"class" : lambda L: L and
L.startswith('grid-tile')}) #Find all li with class: grid-tile
for container in containers:
product_container = container.findAll("div",{"class":"product-swatches"})
product_names = product_container[0].findAll("li")
for i in range(len(product_names)):
try:
product_name = product_names[i].a.img.get("alt")
product_mod_name = product_name.split(',')[0].lstrip()
print(product_mod_name)
except:
product_name = ''
i +=1
product = [product_mod_name]
print(product)
product_list.append(product)
import csv
with open('products.csv','a',newline='') as file:
writer=csv.writer(file)
for row in product_list:
writer.writerow(row)
Dank !! Ich habe 2 Wochen damit verbracht und konnte immer noch nicht herausfinden. Lass mich das jetzt versuchen. – Futochan
Wenn es tut, was es für sie bedeutet, stellen Sie sicher, es als eine Antwort zu akzeptieren. Vielen Dank. – SIM