2016-11-08 62 views
1

登录页面进行屏幕抓取后iTunes Connect中数据,我试图让过去使用Python的请求BeautifulSoup其登录。屏幕抓取iTunes Connect的:获得通过

这是iTunes Connect的登录页面: https://itunesconnect.apple.com/itc/static/login

通常情况下,开始在其他网站的屏幕抓取,我能够从网页的隐藏内容抓取一个令牌通过登录来获得然后我可以使用凭据进行登录,从而允许网站认为登录请求正通过有效的浏览器进入。

例如,这一直是我使用伪蟒蛇编码进行登录访问的粗略步骤:

session = requests.Session() 

response = session(GET, [URL LOGIN], ...) 
soup = BeautifulSoup(response.text, 'html.parser') 
token_tag = soup.find_all(...) 
TOKEN = token_tag.get(...) 

response = session(POST, [URL LOGIN], [CREDENTIALS + TOKEN]) 
login_html = response.text 
login_soup = BeautifulSoup(login_html, 'html.parser') 

但是,我很难与iTune的连接登录。

其他人试过了,有什么窍门?

感谢

+0

没有Python的关系,但我想看看FASTLANE /飞船:https://github.com/fastlane/fastlane太不可思议了你可以使用它来访问iTunes Connect。 – Max

回答

0

我吐泥包在这里,但这个问题很可能缺乏对登录凭据Base64编码和令牌,因为它们是通过POST传递。

你的要求应该像沿着线的东西:

import requests 
import base64 

r = requests.post(<url login>, 
       headers={"Authorization": "Basic " + base64.b64encode(b'username:password'), 
       data=payload)