2
我嘗試使用RoboBrowser登錄AmazonMusic。 我通過使用用於Kodi的腳本來處理Mechanize,但由於我想用戶Python3,我還需要它與RoboBrowser一起使用。登錄使用Robobrowser登錄Amazon音樂
這是工作(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的會話中,並且每個POST都重複使用。我也嘗試過沒有通過一個會議的開始 - 沒有任何區別...
我做錯了什麼? 我也嘗試過使用MechanicalSoup,但得到了相同的結果。