Я пытаюсь получить информацию о размерах обуви с сайта KicksUSA.com и, похоже, не могу получить размеры обуви, отображаемые на страницах продукта. Принимая эту страницу в качестве примера - https://www.kicksusa.com/jordan/air-jordan-13-retro-atmosphere-greyblack-white-univ-red-414571-016.html - я пытаюсь получить все размеры, отображаемые там.
Размеры появляются в 3 местах, которые я заметил -
- Как
data-label
атрибуты a
элементов в элементе div.input-box.validation-passed
(или, если мы пойдем на один элемент выше, в элементе dd.last
)
- Как
option
элементы с price
, равным 0
внутри select
элемента
- В пределах
spConfig
JS код
Любая попытка получить данные из первого местоположения (data-label
атрибуты a
элементов) приводила к None
.
Когда я использовал следующий код:
size = soup2.find('dd', attrs={'class': 'last'})
getsize = size.find('select')
getgetsize = str([e.get_text() for e in getsize.findAll('option', attrs={'price': '0'})])
Я ничего не получаю, как если бы option
элементов с этим атрибутом не существовало.
Когда я запускаю этот код:
size = soup2.find('dd', attrs={'class': 'last'})
getsize = size.find('select')
getgetsize = str([e.get_text() for e in getsize.findAll('option')])
Я получаю только первый результат, Choose an Option...
У кого-нибудь есть идеи, как получить данные, которые мне нужны? Заранее спасибо.
РЕДАКТИРОВАТЬ: Это фрагмент, который обходит защиту:
headers = {
'Host': 'www.kicksusa.com',
'Connection': 'keep-alive',
'Cache-Control': 'max-age=0',
'Upgrade-Insecure-Requests': '1',
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_2) AppleWebKit/537.36 (KHTML, like Gecko) '
'Chrome/72.0.3626.121 Safari/537.36',
'DNT': '1',
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
'Accept-Encoding': 'gzip, deflate, br',
'Accept-Language': 'ru,en-US;q=0.9,en;q=0.8,tr;q=0.7',
'Cookie': 'visid_incap_459049=Evije6RoRAG1GuxEpbckJA4Ch1wAAAAAQUIPAAAAAABk8hUjgpv63FQ2WQOlcukw; incap_ses_1079_459049=UXVgNfGObEuAWEiyCWH5DiGJm1wAAAAA4XovM6FTnjT4ZWyukyoWxw==',
}
data2 = requests.get(url3, headers=headers)
soup2 = BeautifulSoup(data2.text, 'html.parser')
Вы должны отредактировать значения visid_incap_...=...
и incap_ses_...=...
, открыв kicksusa.com и перейдя в Cookies-> kicksusa.com