Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 如何使用Python登录Amazon Audible.com子公司_Python 3.x_Python Requests - Fatal编程技术网

Python 3.x 如何使用Python登录Amazon Audible.com子公司

Python 3.x 如何使用Python登录Amazon Audible.com子公司,python-3.x,python-requests,Python 3.x,Python Requests,我想用Python Beautiful Soup来搜索音频网站。有一些数据,我不能访问,除非我登录到我的帐户。它是Amazon.com的子公司。我失败了。我只想使用Python登录,并删除html 我已经尝试过类似这样的代码。有人会认为,在这段代码中简单地替换我的凭证就可以了 不幸的是,这在Python中不再是简单的自动化。这是我用所能做到的。POST需要一堆标题,其中大部分可以提取,除了元数据1(更多信息见底部): “加载包” 导入请求 从bs4导入BeautifulSoup 从urllib.

我想用Python Beautiful Soup来搜索音频网站。有一些数据,我不能访问,除非我登录到我的帐户。它是Amazon.com的子公司。我失败了。我只想使用Python登录,并删除html


我已经尝试过类似这样的代码。有人会认为,在这段代码中简单地替换我的凭证就可以了

不幸的是,这在Python中不再是简单的自动化。这是我用所能做到的。POST需要一堆标题,其中大部分可以提取,除了
元数据1
(更多信息见底部):

“加载包”
导入请求
从bs4导入BeautifulSoup
从urllib.parse导入urlspilt,解析
“”“定义登录表单所在的URL”“”
地点=”https://www.audible.com.au/signin"
“启动会话”
会话=请求。会话()
“”“定义会话头”“”
session.headers={
“接受”:“text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed exchange;v=b3;q=0.9”,
“接受编码”:“gzip,deflate,br”,
“接受语言”:“en-US,en;q=0.9,cs;q=0.8”,
“sec fetch dest”:“document”,
“秒获取模式”:“导航”,
“sec获取站点”:“无”,
“升级不安全请求”:“1”,
“用户代理”:“Mozilla/5.0(X11;Linux x86_64)AppleWebKit/537.36(KHTML,如Gecko)Chrome/80.0.3987.122 Safari/537.36”,
“元数据1”:“,
}
“”“获取登录页”“”
resp=session.get(站点)
html=resp.text
“”“从登录页提取clientContext”“”
query=urlspit(resp.url).query
params=parse_qs(查询)
clientContext=params[“clientContext”]
新建\u登录\u url=”https://www.amazon.com.au/ap/signin/“+str(clientContext[0])
“”“获取登录页的html的BeautifulSoup对象”“”
soup=BeautifulSoup(html,“lxml”)
“”“刮取登录页以获取登录所需的所有输入”“”
数据={}
form=soup.find(“form”,{“name”:“signIn”})
对于表单中的字段。查找所有(“输入”):
尝试:
数据[字段[“名称”]=字段[“值”]
除:
通过
“”“为post请求的数据添加用户名和密码”“”
数据[u“email”]=“email”
数据[u“密码”]=“密码”
“”“显示:重定向URL、appActionToken、appAction、siteState、openid。返回到、PreGrid、workflowState、创建、电子邮件、密码”“”
打印(新登录地址、数据)
“”“使用用户名/密码和其他所需信息提交post请求”“”
post\u resp=session.post(新登录地址,数据=data,允许重定向=True)
post_汤=BeautifulSoup(post_分别为内容物,“lxml”)
“”“检查验证码”“”
warning=post_soup.find(“div”,id=“auth warning message box”)
如果警告:
打印(“警告:”,警告)
其他:打印(post_汤)
session.close()
48
49
行中添加您的电子邮件地址和密码。还可以使用浏览器登录并检查流量,以查看计算机上的元数据1,并将其添加到第22行
22
。如果你很幸运,你不会被检测为机器人,你会进入,否则你会得到验证码图像


metadata1
是base64中的一个巨大负载,它由浏览器收集的数据组成,可以唯一地识别您并将您与机器人区别开来(鼠标点击、输入延迟、页面脚本、浏览器信息、兼容性和扩展、flash版本、用户代理、脚本性能、硬件-GPU、本地存储、画布大小等)

我在网络控制台中找不到元数据。另外,我最近启用了定时一次性密码。我遇到了这个问题,但没有验证码。不过,你的脚本比其他任何东西都更接近我。