Python使用请求登录
我的目标是登录此网站:Python使用请求登录,python,web-scraping,python-requests,Python,Web Scraping,Python Requests,我的目标是登录此网站: http://www.six-swiss-exchange.com/indices/data_centre/login.html 登录后,访问以下页面: http://www.six-swiss-exchange.com/downloads/indexdata/composition/close_smic.csv 为此,我使用的请求密码和电子邮件都是假的: import requests login_url = "http://www.six-swiss-excha
http://www.six-swiss-exchange.com/indices/data_centre/login.html
登录后,访问以下页面:
http://www.six-swiss-exchange.com/downloads/indexdata/composition/close_smic.csv
为此,我使用的请求密码和电子邮件都是假的:
import requests
login_url = "http://www.six-swiss-exchange.com/indices/data_centre/login_en.html"
dl_url = "http://www.six-swiss-exchange.com/downloads/indexdata/composition/close_smic.csv"
with requests.Session() as s:
payload = {
'username':'GG@gmail.com',
'password':'SummerTwelve'
}
r1 = s.post(login_url, data=payload)
r2 = s.get(dl_url, cookies=r1.cookies)
print 'You are not allowed' in r2.content
脚本总是返回False。我正在使用Chrome和inspect检查要填写的表单,这是我手动登录时检查的结果:
payload = {
'viewFrom':'viewLOGIN',
'cugname':'swxindex',
'forward':'/indices/data_centre/adjustments_en.html',
'referer':'/ssecom//indices/data_centre/login.html',
'hashPassword':'xxxxxxx',
'username':'GG@gmail.com',
'password':'',
'actionSUBMIT_LOGIN':'Submit'
}
我尝试过这个,但没有结果,其中XXXXX是summer12的编码值。。。我显然不知道如何解决这个问题!也许通过提到标题?服务器可能会拒绝脚本请求?我今天遇到了类似的问题,在我的情况下,问题是使用“post”命令启动网站交互。因此,我没有可以提供给网站的有效会话cookie,因此收到错误消息“您的浏览器不支持cookie” 解决方案是使用get加载登录页面一次,然后使用post发送登录数据: 我的登录数据对应于您的有效负载
这样,会话cookie由会话管理,您不必关心它。它在哪里返回false?此处:在r2中打印“您不允许”。content您是否尝试添加用户代理?是的,我尝试在r1=c.postlogin\U url、data=payload、headers=headers和r2=c.getdl\U url中添加headers={'user-agent':'Mozilla/5.0'},headers=headers,cookies=r1.cookies问题是dl_url不受保护,但我需要进行身份验证,以便弹出一个下载窗口。。。不知道那里的请求是否合适。。。
s = requests.Session()
r = s.get(url_login)
r = s.post(url_login, data=logindata)