Итак, вот мой код для проверки запаса размеров 7.5-9 определенного продукта:
import requests
from bs4 import BeautifulSoup
r = requests.get('https://www.jimmyjazz.com/mens/footwear/adidas-solar-hu-nmd/BB9528')
soup = BeautifulSoup(r.text, 'html.parser')
attrs = soup.find_all(class_="box_wrapper")[0].findChildren()
output = str(attrs[0].attrs)
if "piunavailable" in output:
print("Size 7.5 OOS")
else:
print("Size 7.5 in stock!")
output = str(attrs[1].attrs)
if "piunavailable" in output:
print("Size 8 OOS")
else:
print("Size 8 in stock!")
output = str(attrs[2].attrs)
if "piunavailable" in output:
print("Size 8.5 OOS")
else:
print("Size 8.5 in stock!")
output = str(attrs[3].attrs)
if "piunavailable" in output:
print("Size 9 OOS")
else:
print("Size 9 in stock!")
Фактические значения htmls для размеров на этом веб-сайте:
<div class="box_wrapper">
<a href="#" id="itemcode_11468285" class="box">7.5</a>
<a id="itemcode_11468286" class="box piunavailable">8</a>
<a id="itemcode_11468287" class="box piunavailable">8.5</a>
<a id="itemcode_11468288" class="box piunavailable">9</a>
<a id="itemcode_11468289" class="box piunavailable">9.5</a>
<a id="itemcode_11468290" class="box piunavailable">10</a>
<a id="itemcode_11468291" class="box piunavailable">10.5</a>
<a id="itemcode_11468292" class="box piunavailable">11</a>
<a id="itemcode_11468293" class="box piunavailable">11.5</a>
<a id="itemcode_11468294" class="box piunavailable">12</a>
<a id="itemcode_11468295" class="box piunavailable">13</a>
<a id="itemcode_11468296" class="box piunavailable">14</a>
</div>
Поэтому, когда я запускаю свой код, как и ожидалось, я получаю:
PS C:\Users\jokzc\Desktop\python\learning requests> py test3.py
Size 7.5 in stock!
Size 8 OOS
Size 8.5 OOS
Size 9 OOS
Что я хотел бы сделать, это иметь возможность проверить каждый размер и вернуться, если он есть в наличии или нет в наличии без 10 различные блоки вывода в моем основном коде. Есть ли какая-нибудь вечная функция или что-то, что я мог бы сделать, чтобы удовлетворить эту потребность?