2

RoboBrowser를 사용하여 AmazonMusic에 로그인하려고합니다. Kodi 용 스크립트를 사용하여 Mechanize와 작업하게되었지만, 사용자 Python3을 원하기 때문에 RoboBrowser와 함께 작업해야합니다.로그인 Robobrowser가있는 Amazon 음악

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)

문제 :

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()

이 파이썬 3에 대한 내 코드입니다 :

은 (파이썬 2) 노력하고 있습니다 쿠키를 받아 들일 필요가 있다는 대답입니다. 하지만 어떻게해야합니까? 쿠키가 세션에 저장되어 RoboBrowser로 전달되고 각 POST마다 다시 사용되는 것으로 생각했습니다. 나는 또한 처음에는 세션을 통과하지 않고 시도 - 어떤 차이를 만들지 않습니다 ...

내가 뭘 잘못하고 있니? MechanicalSoup로 시도했지만 동일한 결과가 나타납니다.

답변

0

에는 사용자 에이전트가

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) 
를 지정하지 있습니다