Форум сайта python.su
AD0DE412Кстати да, только заметил что при выборе расцветки адрес всё таки меняется. Но не при выборе размера.
а вы адрес смотрели при выборе цвета товара?
Офлайн
selenium ?
Офлайн
для себя потренировался
import requests from bs4 import BeautifulSoup url = r"https://www.kant.ru/catalog/product/2746383/" def get_soup_from_html(url): resp = requests.get(url) if resp.status_code == 200: html = resp.text soup = BeautifulSoup(html,'lxml') return soup def get_data(soup): name = soup.find('h1',itemprop="name").text price = soup.find('span',class_="kant__product__price__new kant__price").text links_and_imgs = [] tags = soup.find('div',class_="kant__product__color__thumbs").find_all('a') for i in tags: links_and_imgs.append((i['href'],i.img['src'])) btn = soup.find('div',class_="kant__product__buy__button--new").text.strip() return name, price, links_and_imgs,btn soup = get_soup_from_html(url) if soup is not None: for i in get_data(soup): print(i)
Футболка с длинным рукавом Accapi Ergoracing Long Sleeve Shirt Anthracite Black 9 490 [('/catalog/product/2746383/', '/upload/resize_cache/iblock/9eb/555_455_1/9eb0b5b57531e0ab78deecb671164e06.jpg'), ('/catalog/product/2746589/', '/upload/resize_cache/iblock/d10/85_85_1/d1048f710034e53eb45162b1e116600c.jpg'), ('/catalog/product/2746493/', '/upload/resize_cache/iblock/8c8/85_85_1/8c810b9f195214d57a20ec10eff9420d.jpg'), ('/catalog/product/2746411/', '/upload/resize_cache/iblock/4f8/85_85_1/4f8c13a71961896071b06b2a6f3900da.jpg')] Добавить в корзину Process finished with exit code 0
Отредактировано xam1816 (Окт. 25, 2021 00:05:43)
Офлайн
xam1816Спасибо большое.
для себя потренировался
Офлайн
Tempдай ссылку на которой кнопка Нет в наличии
надпись на которой меняется с Купить на Нет в наличии
Офлайн
xam1816Вот к примеру такой сайт:
Офлайн
темп почитайте посмотрите что ни буть про хтмл верстку например
это займет у вас от силы 3 - 4 дня но снимет массу проблем
зы просто вот ни разу не приходилось скраблингом заниматься а выглидит буд то я это лучше знаю чем вы посвятивший этому эээ некоторое количество времени
ззы это не похвольба про меня и не ололо на вас просто хочу вам подсказать что вы выбрали не верную стратегию изучения этого вопроса … конечно это все личное мнение и оно маожет быть ошибочным study nail, not hammer
make love, not war
Отредактировано AD0DE412 (Окт. 26, 2021 11:02:56)
Офлайн
AD0DE412
Спасибо, буду углубляться в HTML.
Насколько я понял. конкретно на этом сайте переключатели модификаций (цветов/размеров) являются обычные radio button которые принимают True / False:
И вроде как изначально в страницу не заложена информация о наличии товара (будет ли кнопка “купить” или “под заказ”), и страница каждый раз подгружает эту информацию при кликах пользователем по данным кнопкам.
Можно ли сравнить то что я делаю с парсингом динамических сайтов или это что-то другое?
Офлайн
Tempдостать какие-то слова из html не особо сложно
Вот к примеру такой сайт:
https://hube.kz/catalog/gornye-velosipedy
tag = soup.find('div',class_="product_card col-md-4 col-sm-6 col-xs-6") is_available = tag.contents[1].find('div',class_="ware-badge on-ware").text.strip() name = tag.contents[1].find('a',class_="product-title").text.strip() print(is_available,'\n',name)
Есть в наличии ГОРНЫЙ ВЕЛОСИПЕД AIST QUEST 26 2021
Tempи любая хрень на сайте,которая как-то ассоциируется с кодом в html,может быть использована в вашем коде
конкретно на этом сайте переключатели модификаций (цветов/размеров) являются обычные radio button которые принимают True / False:
Офлайн
Tempнеа ну то есть да по смыслу тока это не дефолтная кнопка а сделаная из … эээ сделаная своими силами кароче
обычные radio button которые принимают True
Офлайн