首页 > 解决方案 > 使用请求python在亚马逊获取联系我们页面的问题

问题描述

我正在尝试进入亚马逊上的联系我们页面,但是当获取联系我们页面的请求时,它会注销

这是我的代码:

import requests
from bs4 import BeautifulSoup

acc = open('acc.txt', 'r').readlines()
for x in acc:
    email = x.split("|")[0].strip()
    password = x.split("|")[1].strip()

ses = requests.Session()

gt_hm = ses.get('https://www.primevideo.com/')


hd = {
    'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
    'accept-encoding': 'gzip, deflate, br',
    'accept-language': 'en-US,en;q=0.9',
    'cookie': 'i18n-prefs=USD; session-id=262-0062187-2801468; lc-main-av=ar_AE; ubid-main-av=260-8278471-7658015; session-id-time=2082787201l; session-token=dnAgFXmzoViAqk3OwLUKimJNoCHdTxpQq5XLZ+ZASkYfcH1cDTKtD7jS1k+kZO5befel9Rxd2aIQPKAaMR4hc6dSu1I1P8obCxEFF4R/VunuzNhkxYexUtOAjxLvyf3O5PKmeV+yMhMK4dRsOb07sxG5T3ufmLpXznXvHQ8fHmewGLL3z5qJpy2LdbWfB8rT; csm-hit=tb:40JFN94MTVC9KMA6P7PB+s-1MC2BVYTABPM9G0AY1BX|1628606640491&t:1628606640491&adb:adblk_no',
    'downlink': '5.05',
    'ect': '4g',
    'referer': 'https://www.primevideo.com/region/eu/?ref_=dvm_pds_amz_ps_dc_s_g_mkw_sa2mc9UHh-dc_pcrid_292950194309&mrntrk=slid__pgrid_35699913574_pgeo_2275_x__ptid_kwd-3151046130',
    'rtt': '100',
    'sec-ch-ua': '"Chromium";v="92", " Not A;Brand";v="99", "Google Chrome";v="92"',
    'sec-ch-ua-mobile': '?0',
    'sec-fetch-dest': 'document',
    'sec-fetch-mode': 'navigate',
    'sec-fetch-site': 'same-origin',
    'sec-fetch-user': '?1',
    'upgrade-insecure-requests': '1',
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36'
}
gt_sign = ses.get("https://www.primevideo.com/region/eu/auth-redirect/ref=atv_nb_sign_in?signin=1&returnUrl=%2Fregion%2Feu%2F%3Fmrntrk%3Dslid__pgrid_35699913574_pgeo_2275_x__ptid_kwd-3151046130%26ref_%3Ddvm_pds_amz_ps_dc_s_g_mkw_sa2mc9UHh-dc_pcrid_292950194309", headers=hd, allow_redirects=True)
res = gt_sign.text

soup = BeautifulSoup(res, "html.parser")
workflowState = soup.find('input', {'name': 'workflowState'}).get('value')
prevRID = soup.find('input', {'name': 'prevRID'}).get('value')
appActionToken = soup.find('input', {'name': 'appActionToken'}).get('value')
openid_return_to = soup.find('input', {'name': 'openid.return_to'}).get('value')


hd_lg = {
    'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
    'accept-encoding': 'gzip, deflate, br',
    'accept-language': 'en-US,en;q=0.9',
    'cache-control': 'max-age=0',
    'content-length': '10182',
    'content-type': 'application/x-www-form-urlencoded',
    'sec-ch-ua': '"Chromium";v="92", " Not A;Brand";v="99", "Google Chrome";v="92"',
    'sec-ch-ua-mobile': '?0',
    'sec-fetch-dest': 'document',
    'sec-fetch-mode': 'navigate',
    'sec-fetch-site': 'same-origin',
    'sec-fetch-user': '?1',
    'upgrade-insecure-requests': '1',
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36'
}

dt_lg = {
    'appActionToken': str(appActionToken),
    'appAction': 'SIGNIN',
    'openid.return_to': str(openid_return_to),
    'prevRID': str(prevRID),
    'workflowState': str(workflowState),
    'email': str(email),
    'create': '0',
    'password': str(password),
    'encryptedPasswordExpected': '',
    'metadata1': 'true'
}

pst_lg = ses.post('https://www.amazon.com/ap/signin', headers=hd_lg, data=dt_lg, allow_redirects=True)
rs_sign = pst_lg.text


hd_help = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36'
}
gt_help = ses.get('https://www.primevideo.com/region/eu/help/ref=atv_nb_hp', headers=hd_help, allow_redirects=True)


hd_contact = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36'
}

get_contact = ses.get('https://www.primevideo.com/region/eu/help/contact-us/ref=atv_hp_cu_lnd', headers=hd_contact, allow_redirects=True)
print(get_contact.text) # here the amazon sign out in account, why?

我再次被重定向到登录页面,为什么会出现这个问题?解决办法是什么 !

我想进入联系我们页面。

我尝试了很多并搜索了互联网和网站,但我找不到解决这个问题的方法,我不知道为什么亚马逊会自动注销

标签: pythonpython-requests

解决方案


推荐阅读