Я написал сценарий на python, чтобы перейти на целевую страницу, где каждая категория имеет свои доступные имена на веб-сайте. Мой нижеприведенный скрипт может получить названия продуктов из большинства ссылок (сгенерированных через ссылки категории ровинга, а затем ссылки подкатегории).
Сценарий может анализировать ссылки подкатегорий, выявленные при щелчке +
знаке, расположенном рядом с каждой категорией, которые видны на изображении ниже, а затем анализировать все названия продуктов с целевой страницы. Это одна из таких целевых страниц.
Однако некоторые ссылки не имеют такой же глубины, как другие ссылки. Например, эта ссылка и эта отличаются от обычных ссылок, подобных этой.
Как я могу получить все названия продуктов из всех ссылок независимо от их разной глубины?
Это то, что я пробовал до сих пор:
import requests
from urllib.parse import urljoin
from bs4 import BeautifulSoup
link = "https://www.courts.com.sg/"
res = requests.get(link)
soup = BeautifulSoup(res.text,"lxml")
for item in soup.select(".nav-dropdown li a"):
if "#" in item.get("href"):continue #kick out invalid links
newlink = urljoin(link,item.get("href"))
req = requests.get(newlink)
sauce = BeautifulSoup(req.text,"lxml")
for elem in sauce.select(".product-item-info .product-item-link"):
print(elem.get_text(strip=True))
Как найти ссылки на trget: