Я создал скрипт для сбора ссылок с различных продуктов с веб-страницы.Мое намерение состоит в том, чтобы очищать ссылки, только когда продукты имеют знак Ajouter au panier
, что означает Add to Basket
Структуры html очень просты и с ними легко играть, но логика получения нужных ссылок кажется сложной.Я использовал три разные ссылки, чтобы показать вариацию.
Мало URL ведут к нужным продуктам, но все же есть каталоги (если я использую их ссылки), которые производят еще несколько продуктов.Проверьте ссылки на изображения, чтобы увидеть для себя.Я нарисовал круги вокруг каталогов на первом изображении, которые все еще могут производить желаемые продукты, тогда как на этой странице уже есть несколько желаемых продуктов.
проверить вариант
еще один: только каталоги
Это сценарий, который я написал:
import requests
from urllib.parse import urljoin
from bs4 import BeautifulSoup
urls = (
"https://www.directmedical.fr/categorie/aspirateurs-de-mucosite.html",
"https://www.directmedical.fr/categorie/literie.html",
"https://www.directmedical.fr/categorie/vetement.html"
)
def get_links(link):
r = requests.get(link)
soup = BeautifulSoup(r.text,"lxml")
for item in soup.select(".browseCategoryName a"):
ilink = urljoin(link,item.get("href"))
print(ilink)
if __name__ == '__main__':
for url in urls:
get_links(url)
Как я могу получить ссылки на все товары, имеющие Ajouter au panier
знаки, используя эти URL?