gpt4 book ai didi

python-3.x - 使用 Robobrowser 登录亚马逊音乐

转载 作者:可可西里 更新时间:2023-11-01 16:40:50 30 4
gpt4 key购买 nike

我尝试使用 RoboBrowser 登录 AmazonMusic。我通过使用专为 Kodi 设计的脚本让它与 Mechanize 一起工作,但由于我想使用 Python3,我还需要它与 RoboBrowser 一起工作。

这是有效的(Python 2):

br = mechanize.Browser()
br.set_cookiejar(cj)
br.set_handle_gzip(True)
br.set_handle_robots(False)
br.addheaders = [('User-Agent', userAgent)]
br.open(urlMain + "/gp/dmusic/marketing/CloudPlayerLaunchPage/ref=dm_dp_mcn_cp")
br.select_form(name="signIn")
br["email"] = email
br["password"] = password
br.addheaders = [
('Accept', 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8'),
('Accept-Encoding', 'gzip, deflate'),
('Accept-Language', 'de,en-US;q=0.8,en;q=0.6'),
('Cache-Control', 'max-age=0'),
('Connection', 'keep-alive'),
('Content-Type', 'application/x-www-form-urlencoded'),
('User-Agent', userAgent),
('Upgrade-Insecure-Requests', '1')]
br.submit()
resp = br.response().read()

这是我的 Python 3 代码:

import robobrowser
from requests import Session

session = Session()

browser = robobrowser.RoboBrowser(session=session, history=True)
browser.open("http://www.amazon.de/gp/dmusic/marketing/CloudPlayerLaunchPage/ref=dm_dp_mcn_cp")
loginForm = browser.get_form(id='ap_signin_form')
loginForm['email'] = "a"
loginForm['password'] = "b"

browser.submit_form(loginForm)
#print(browser.parsed)

问题是我得到的答案是我需要接受 cookie。但是我该怎么做呢?我认为 cookie 存储在我传递给 RoboBrowser 的 session 中,并在每个 POST 中重复使用。我也尝试过一开始不通过 session - 没有任何区别......

我做错了什么?我也尝试使用 MechanicalSoup,但得到了相同的结果。

最佳答案

没有指定用户代理

user_agent = 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0'
browser = robobrowser.RoboBrowser(session=session, user_agent=user_agent, history=True)

关于python-3.x - 使用 Robobrowser 登录亚马逊音乐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40820594/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com