从URL请求获取数据

2024-09-29 05:15:27 发布

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

我正在尝试登录电影流媒体网站并显示特色电影列表。要登录,我需要插入3个动态值。这就是我到目前为止所做的:

import requests

headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/533.32'
}

data = {
    'audience': 'https://play.tv2.dk',
    'connection': 'TV-2-AWS-Login',
    'password': password,
    'redirect_uri': 'https://play.tv2.dk/api/user/logincallback',
    'response_type': 'code',
    'scope': 'openid email offline_access',
    'tenant': 'tv2dk-prod',
    'username': email,
    '_intstate': 'deprecated'
}

response = requests.get('https://play.tv2.dk/api/user/login?return_url=/', headers=headers)

# first dynamic value
data['_csrf'] = response.cookies['_csrf']

我需要加载更多的值。client idstate。当我在我的常规浏览器上打开https://play.tv2.dk/api/user/login?return_url=/时,我得到以下信息:

https://auth.tv2.dk/login?state=&client=c2UwaVTTDb7HoLZgK48fu3UDAipgg&protocol=oauth2&audience=https%3A%2F%2Fplay.tv2.dk&response_type=code&redirect_uri=https%3A%2F%2Fplay.tv2.dk%2Fapi%2Fuser%2Flogincallback&scope=openid%20email%20offline_access#/

这个URL包含cliend id我只是想知道如何解析和获取客户机id以及如何获取state


Tags: httpsapiidplaydata电影responselogin
1条回答
网友
1楼 · 发布于 2024-09-29 05:15:27

试着这样使用:

from urllib.parse import urlparse
import urllib.parse

url = 'https://auth.tv2.dk/login?state=&client=c2UwaVTTDb7HoLZgK48fu3UDAipgg&protocol=oauth2&audience=https%3A%2F%2Fplay.tv2.dk&response_type=code&redirect_uri=https%3A%2F%2Fplay.tv2.dk%2Fapi%2Fuser%2Flogincallback&scope=openid%20email%20offline_access#/'

o = urlparse(url)
parsed = dict(urllib.parse.parse_qsl(o.query))
print(parsed)

在问题下面的评论中似乎已经有了解决方案,但不管怎样,它可能会帮助别人

相关问题 更多 >