python - 使用请求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?
我再次被重定向到登录页面,为什么会出现这个问题?解决办法是什么 !
我想进入联系我们页面。
我尝试了很多并搜索了互联网和网站,但我找不到解决这个问题的方法,我不知道为什么亚马逊会自动注销
解决方案
推荐阅读
- python - Python 3 中的 ModuleNotFound seaborn
- python-3.x - 我想从列表中的函数中偷运一个整数而不更改其元素或增加内存使用量
- mysql - Sequelize 如何在查询中格式化 sequelize.literal('CURRENT_TIMESTAMP')?
- django - 更新 django 表单而不提示用户输入他们的 ID
- wordpress - WordPress wpbakery 默认情况下,帖子中的链接会打开一个非活动选项卡列表
- c++ - 如果我创建两个 std::thread,如何确定哪个线程先结束
- r - 从 XML 文件中提取数据 - R
- javascript - React Native 样式和 Flex——使组件居中
- javascript - Node.js - 如何在 HTML 中使用复杂的函数,如“addUser”
- python - tf.keras.model 和 tf.keras.sequential 有什么区别?