屏幕抓取 iTunes Connect:通过登录页面

screen-scraping iTunes Connect: Getting through login page

为了对 iTunes Connect 数据执行屏幕抓取,我试图使用 Python 绕过它的登录, 请求, BeautifulSoup.

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

通常,要开始对其他网站进行屏幕抓取,我可以通过从网页的隐藏内容中获取一个 token 来完成登录,然后我就可以执行登录凭据允许网站认为登录请求来自有效的浏览器。

例如,这是我使用伪python编码执行登录访问的粗略步骤:

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 Connects。

有没有人试过,有什么窍门?

谢谢

我在这里吐口水,但问题可能是登录凭据和令牌在通过 POST 传递时缺少 base64 编码。

您的请求应该类似于:

import requests
import base64

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