我尝试在一个特定的站点上模拟在线购物,但是,我一直在尝试用Python请求发布表单数据。我已经设法让这个工作的测试网站为这种类型的测试。这个新网站是有点不同,我正试图找出我将如何让它正常工作。我使用的是requests和BeautifulSoup4。你知道吗
我可以去一个特定的链接,刮某些信息,但有点困惑,当谈到我应该张贴。“action”属性显示一个uri/url:“https://www.hottopic.com/on/demandware.store/Sites-hottopic-Site/default/Product-Detail/C1555946480”。当我在chromedev工具中查看时,它显示:“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)
然后,我尝试继续到购物车页面,并再次刮,但我在购物车没有得到任何项目。我一直在忙着治疗,饼干,还有其他我能找到的关于这个的东西。谢谢你的帮助。你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐