我正在使用Python库requests
,但我似乎无法登录此网站。
该网址为https://www.bet365affiliates.com/ui/pages/affiliates/,我一直在尝试使用“ctl00 $ MasterHeaderPlaceHolder $ ctl00 $ passwordTextbox”,“ctl00 $ MasterHeaderPlaceHolder $ ctl00 $ userNameTextbox”等数据向https://www.bet365affiliates.com/Members/CMSitePages/SiteLogin.aspx?lng=1发送请求,但是我似乎永远无法登录。
有经验的人可以查看页面的源代码并告诉我这里缺少什么吗?
答案 0 :(得分:0)
您是否检查过浏览器用于登录的http请求? 你应该复制它。
FB
答案 1 :(得分:0)
解决方案可能是这样的:请注意,你可以不用硒来做。如果你想没有它,首先你应该获得主联盟页面,并从响应数据中获取所有必需的信息(我通过xpaths收集)。我没有足够的时间在完全请求中写它。
要从响应数据中收集信息,您可以使用XML树库。使用相同的XPATH方法,您可以轻松找到所有请求的信息。
import requests
from selenium import webdriver
Password = 'YOURPASS'
Username = 'YOURUSERNAME'
browser = webdriver.Chrome(os.getcwd()+"/"+"Chromedriver.exe")
browser.get('https://www.bet365affiliates.com/ui/pages/affiliates/Affiliates.aspx')
VIEWSTATE=browser.find_element_by_xpath('//*[@id="__VIEWSTATE"]')
SESSIONID=browser.find_element_by_xpath('//*[@id="CMSessionId"]')
PREVPAG=browser.find_element_by_xpath('//*[@id="__PREVIOUSPAGE"]')
EVENTVALIDATION=browser.find_element_by_xpath('//* [@id="__EVENTVALIDATION"]')
cookies = browser.get_cookies()
session = requests.session()
for cookie in cookies:
print cookie['name']
print cookie['value']
session.cookies.set(cookie['name'], cookie['value'])
payload = {'ctl00_AjaxScriptManager_HiddenField':'',
'__EVENTTARGET':'ctl00$MasterHeaderPlaceHolder$ctl00$goButton',
'__EVENTARGUMENT':'',
'__VIEWSTATE':VIEWSTATE,
'__PREVIOUSPAGE':PREVPAG,
'__EVENTVALIDATION':EVENTVALIDATION,
'txtPassword':Username,
'txtUserName':Password,
'CMSessionId':SESSIONID,
'returnURL':'/ui/pages/affiliates/Affiliates.aspx',
'ctl00$MasterHeaderPlaceHolder$ctl00$userNameTextbox':Username,
'ctl00$MasterHeaderPlaceHolder$ctl00$passwordTextbox':Password,
'ctl00$MasterHeaderPlaceHolder$ctl00$tempPasswordTextbox':'Password'}
session.post('https://www.bet365affiliates.com/Members/CMSitePages/SiteLogin.aspx?lng=1',data=payload)