Получить get запрос от post запроса python
что делать, если мне нужно получить get запрос от post запроса контента страницы при изменении select тэга , но при этом сам url страницы при изменении select тега не меняется? если пытаться получить контент от post запроса непосредственно, то сам контент также не изменится и при изменение тэга select я буду получать тот же href на одну и ту же картинку на сайте
import requests
from bs4 import BeautifulSoup
url = 'https://myciclon.com/shop/sergi-ciclon-233601-unique-stock/'
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')
# Находим тег select
select_tag = soup.find('select', {"id": "pa_color"})
if select_tag:
# Получаем значение из тега select
options = select_tag.find_all('option')
print(options)
for option in options:
value = option.get('value')
print(value)
# Отправляем post запрос с полученным значением
payload = {'pa_color': value}
print(payload)
r = requests.post(url, data=payload)
# Выполняем get запрос на страницу с обновленными изображениями
get_response = requests.get(url, r.url)
get_options_soup = BeautifulSoup(get_response.content, 'html.parser')
option_id = ''
value.join(filter(str.isdigit, option_id))
img_tag = get_options_soup.find('figure', {"class": "woocommerce-product-gallery__wrapper"}).find('div').find('a')['href']
print(img_tag)
Ответы (1 шт):
Автор решения: Сергей Ш
→ Ссылка
import requests
from bs4 import BeautifulSoup
import json
url = 'https://myciclon.com/shop/sergi-ciclon-233601-unique-stock/'
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')
# 1
select = list(soup.find(id="pa_color").stripped_strings)[1:]
for x in select:
*_, id_img = x.split()
print(f'https://myciclon.com/wp-content/uploads/2023/10/233601-{id_img}.jpg')
# 2
jsn = soup.find(class_="variations_form")['data-product_variations']
for image in json.loads(jsn):
print(image['image']['url'])