Найти - Пользователи
Полная версия: Туплю с библиотекой requests
Начало » Python для новичков » Туплю с библиотекой requests
1 2 3
Temp
Доброго времени суток!

Программист уз меня нулёвый, потому без подсказки я не решу свою задачу.

А задача следующая:
Имеется определённый сайт с товаром, допустим этот:
 https://www.kant.ru
Так вот, я, ручками(не автоматически) вбиваю ссылки на конкретные товары, нашим подопытным в данном примере будет данный товар:
 https://www.kant.ru/catalog/product/2746383/

С данной страницы мне необходимо выудить следующую информацию: что написано на данной кнопке

Будет ли там написано “Добавить в корзину” или же “Под заказ”

Исходя из пары запросов в гугле, натыкал следующие пару строк:
 import requests
from bs4 import BeautifulSoup as BS
r = requests.get("https://www.kant.ru/catalog/product/2746383/")
html = BS(r.content, 'html.parser')
button = html.select('Непонятно что тут писать в моём случае')
print(button)

Переписывание пути из “посмотреть код элемента” либо выдаёт ошибки из-за символа # либо вообще ничего не даёт


Прошу подсказать как это делается по-человечески.

А так же имеется еще один камень преткновения - выбор размера/цвета товара:

Изменение данных параметров вручную на сайте не меняет адрес сайта, было бы здорово проверить все комбинации подопытного товара.

Уооот, я максимально подробно раскрыл вопрос.
Я не прошу сделать за меня эту работу, прошу лишь подсказать.
Большое спасибо что дочитал, рассчитываю на тебя
AD0DE412
там в div элементе (контейнере) html кода лежит эээ прописана эта надпись

зы любой браузер иследовать элемент ну или что то подобное
чем парсить будете ето уже дело ваших предпочтений
Temp
AD0DE412
там в div элементе (контейнере) html кода лежит эээ прописана эта надпись
Извини, я не ничего не понял.
AD0DE412
py.user.next
Temp
Так вот, я, ручками(не автоматически) вбиваю ссылки на конкретные товары, нашим подопытным в данном примере будет данный товар:
Найди товар, где написано “Под заказ”, и пришли ссылку сюда.
Temp
py.user.next
Этот сайт взят для примера, мне лишь нужно выдрать надпись из кнопки
AD0DE412
Спасибо, но уже открыл данное меню. скрин есть выше. я в нем не разобрался.
py.user.next
Temp
Этот сайт взят для примера, мне лишь нужно выдрать надпись из кнопки
Все сайты разные. К тому же один сайт может меняться. Что сработает для одного сайта, не сработает для другого. А скрипт, написанный для какого-то сайта, может через месяц отвалиться, потому что код сайта будет изменён администрацией сайта.

Попытки проанализировать страницу через консоль браузера далеко не всегда помогают, потому что в консоли браузера показывается не страница, а DOM (объектная модель документа), которая может быть собрана не только из содержимого страницы, но и построена на лету JavaScript-скриптами.
Temp
 import requests
from bs4 import BeautifulSoup as BS
r = requests.get("https://www.kant.ru/catalog/product/2746383/")
html = BS(r.content, 'html.parser')
button = html.find(class_="kant__product__buy__button--new")
print(button.text.strip())
нашел способ вытащить надпись с первого встречного класса с наименованием “kant__product__buy__button–new”, мне в принципе этого хватит.
py.user.next
ты прав, надеюсь это происходит слишком часто, при необходимости можно прогружать наименование класса со стороннего файла а не прятать его в код, а после обновлять его в случае изменений на сайте.


Остался открытым еще один вопрос: как быть с размерами/цветом товара?

Имеется ли возможность эмулировать нажатие на данные кнопки для получения нужного результата?
Или при парсинге это делается иначе?
AD0DE412
ну так да DOM это конечая точка как мне представляется
————————————-


————————————


Temp
Остался открытым еще один вопрос: как быть с размерами/цветом товара?
а вы адрес смотрели при выборе цвета товара?
Temp
AD0DE412
ну так да DOM это конечая точка как мне представляется————————————-————————————
Вы наверное неправильно меня поняли, я не собираюсь менять значение в данной кнопки, лишь считать.

То есть, если надпись будет “Добавить в корзину” то товар есть в наличии, иначе его нет. Это костыльная проверка наличия определенных товаров на сайте. Очень не у многих сайтов есть api.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB