Я пытаюсь эмулировать покупки в Интернете на определенном сайте, однако я застрял при попытке опубликовать данные формы с запросами Python. Мне удалось заставить это работать на тестовых сайтах, сделанных для такого рода тестирования. Этот новый сайт немного отличается, и я пытаюсь понять, как заставить его работать должным образом. Я использую запросы и BeautifulSoup4.
Я могу перейти по определенной ссылке, почерпнуть определенную информацию, но я немного сбит с толку, когда речь заходит о том, ГДЕ я должен публиковать. Атрибут «action» показывает uri / url: «https://www.hottopic.com/on/demandware.store/Sites-hottopic-Site/default/Product-Detail/C1555946480". Когда я смотрю в Chrome Dev Tools, он показывает:« https://www.hottopic.com/on/demandware.store/Sites-hottopic-Site/default/Cart-AddProduct?format=ajax" в качестве URL-адреса запроса. Я не уверен, что делать отсюда.
import requests
from bs4 import BeautifulSoup
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.157 Safari/537.36',
'content-type': 'application/x-www-form-urlencoded',
'keep-alive': 'true'
}
url = 'https://www.hottopic.com/product/funko-disney-pixar-toy-story-4-pop-buzz-lightyear-vinyl-figure/11692586.html'
session = requests.Session()
source = requests.get(url, headers=headers)
cookies = source.cookies.get_dict()
# source = session.get(url, headers=headers)
soup = BeautifulSoup(source.text, 'lxml')
add_to_cart_url = soup.find_all('form', class_='pdpForm')[0]['action']
dwcont = add_to_cart_url.split('/')[-1]
# add_to_cart_url = 'https://www.hottopic.com/on/demandware.store/Sites-hottopic-Site/default/Cart-AddProduct?format=ajax'
url = 'https://www.hottopic.com/on/demandware.store/Sites-hottopic-Site/default/Product-Detail/' + dwcont
print(url)
# headers = {
# 'authority': 'www.hottopic.com',
# 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.157 Safari/537.36',
# 'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3',
# 'accept-encoding': 'gzip, deflate, br',
# 'accept-language': 'en-US,en;q=0.9,ko-KR;q=0.8,ko;q=0.7,pt;q=0.6',
# 'content-type': 'application/x-www-form-urlencoded',
# 'x-requested-with': 'XMLHttpRequest'
# }
payload = {
'Quantity': 1,
'cgid': '',
'uuid': '',
'cartAction': 'update',
'pid': 11692586
}
add_to_cart = session.post(url, headers=headers, data=payload, cookies=cookies)
Затем я пытаюсь перейти на страницу корзины и еще раз почистить, но в корзине нет товаров. Я возился с сессиями, файлами cookie и всем остальным, что я мог найти по этому поводу. Любая помощь приветствуется.