登录网站并抓取数据

CBW

我要登录的网站是https://realitysportsonline.com/RSOLanding.aspx我似乎无法使登录正常工作,因为该过程与具有特定于登录页面的典型站点有些不同。我没有任何错误,但是登录操作不起作用,这随后导致主体重定向到主页。

import requests
url = "https://realitysportsonline.com/RSOLanding.aspx"
main = "https://realitysportsonline.com/SetLineup_Contracts.aspx?leagueId=3000&viewingTeam=1"
data = {"username": "", "password": "", "vc_btn3 vc_btn3-size-md vc_btn3-shape-rounded vc_btn3-style-3d vc_btn3-color-danger" : "Log In"}
header = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36',
          'Referer':  'https://realitysportsonline.com/RSOLanding.aspx', 
          'Host':  'realitysportsonline.com',
          'Connection':   'keep-alive',
          'Accept-Language':    'en-US,en;q=0.5',
          'Accept-Encoding':    'gzip, deflate, br',
          'Accept':  'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8'}

s = requests.session()
s.get(url)
r = s.post(url, data, headers=header)

page = requests.get(main)
汤姆

首先,您创建一个会话,并假设您的POST请求有效,然后在不使用先前创建的会话的情况下请求一个授权页面。

您需要使用s创建对象发出请求,如下所示:page = s.get(main)

但是,您的POST请求也有一些问题您是在向主页而不是/Login路线提出请求您还缺少Content-Type标题。

import requests

url = "https://realitysportsonline.com/Services/AccountService.svc/Login"
main = "https://realitysportsonline.com/LeagueSetup.aspx?create=true"
payload = {"username":"","password":""}
headers = {
    'Content-Type': "text/json",
    'Cache-Control': "no-cache"
}

s = requests.session()
response = s.post(url, json=payload, headers=headers)
page = s.get(main)

main附言:即使您有一个有效的会话,您的请求网址也会重定向到首页(至少对我而言)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章