屏幕抓取iTunes Connect:通过登陆页

2024-04-19 21:33:16 发布

您现在位置:Python中文网/ 问答频道 /正文

为了对itunesconnect的数据执行屏幕抓取,我尝试使用Python、请求、BeautifulSoup绕过它的登录。在

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

通常情况下,为了开始抓取其他网站的屏幕,我可以通过从网页的隐藏内容中获取一个令牌来完成登录,然后我可以使用凭据执行登录,使网站认为登录请求是通过有效的浏览器发出的。在

例如,这是我使用伪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。在

其他人试过了吗?有什么诀窍?在

谢谢


Tags: texttokenparserurl屏幕网站responsesession
1条回答
网友
1楼 · 发布于 2024-04-19 21:33:16

我在这里大谈特谈,但问题很可能是在通过POST传递的登录凭据和令牌上缺少base64编码。在

您的请求应该大致如下:

import requests
import base64

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

相关问题 更多 >