下面是我的表单结构:
<signinWidget POST https://sellercentral.amazon.in/ap/widget application/x-www-form-urlencoded
<HiddenControl(widgetToken=X2VuY29kaW5nPVVURjgmb3BlbmlkLmFzc29jX2hhbmRsZT1zY19pbl9hbWF6b24mb3BlbmlkLmNsYWltZWRfaWQ9aHR0cCUzQSUyRiUyRnNwZWNzLm9wZW5pZC5uZXQlMkZhdXRoJTJGMi4wJTJGaWRlbnRpZmllcl9zZWxlY3Qmb3BlbmlkLmlkZW50aXR5PWh0dHAlM0ElMkYlMkZzcGVjcy5vcGVuaWQubmV0JTJGYXV0aCUyRj) (readonly)>
<HiddenControl(rememberMe=false) (readonly)>
<TextControl(username=)>
<PasswordControl(password=)>
<SubmitButtonControl(sign-in-button=) (readonly)>>
以下是我用于登录的代码:
import requests
payload = {
'widgetToken' :'X2VuY29kaW5nPVVURjgmb3BlbmlkLmFzc29jX2hhbmRsZT1zY19pbl9hbWF6b24mb3BlbmlkLmNsYWltZWRfaWQ9aHR0cCUzQSUyRiUyRnNwZWNzLm9wZW5pZC5uZXQlMkZhdXRoJTJGMi4wJTJGaWRlbnRpZmllcl9zZWxlY3Qmb3Blbmlk',
'rememberMe' : 'false',
'username' : 'not_real',
'password' : 'not_real',
'sign-in-button': '',
'metadata1':'qCHSEyLKn501AMr2dZnNxcIt0M4Pri3hVLTlMVMsr1/n3Y4eoaOYMdDgcfcObHsdka8g0hFnOuCGuBsbhzZ54KmeI2WZQrYVH3PkLeYV0ge0STSzso2lw9zyPL1/vRhUW7iH14VSbg6XJc7NI5OY7pK4Cn9APiEYAbPNk/B34xnlsfUIv6uGBGnDhUuyCS2N++J1IPjkL3ozA8BuG6'
}
with requests.Session() as s:
s.get('https://sellercentral.amazon.in/gp/homepage.html?')
//comment**tried to capture the cookies after s.get command,but couldnt,hence hardcoded
t=s.post('https://sellercentral.amazon.in/gp/homepage.html?', data=payload)
r = s.get('https://sellercentral.amazon.in/gp/homepage.html?ie=UTF8&*Version*=1&*entries*=0&')
print r.content
在上面的代码中,元数据和widgettoken都是硬编码的,但我也尝试过捕获它,但没有成功。如果需要传递这些Widgettoken和metadata1,我还希望获得一些帮助我是python的新手,任何形式的帮助都将不胜感激
将User-Agent
标头添加到您的请求中。这将允许您获取cookie并继续登录过程。
例如,m = s.get("https://sellercentral.amazon.in/gp/homepage.html", headers={'User-agent': 'Mozilla/5.0'})
,之后您可以通过m.cookies
访问cookie,以便稍后在post
请求中使用。
(显然,这是您的网站特有的问题;在我的情况下,我通过requests
尝试的许多网站都返回了cookie,而无需指定User-Agent
标头。