我正在尝试登录到我的Morningstar.com溢价账户使用请求模块在python如下。邮政命令运行状态200,但实际上并没有登录我。Morningstar.com登录使用Python请求
()当我下载资产负债表时,我只收到5年(非高级)版本而不是所要求的10年(高级版)版本。这表明我的登录脚本失败,因为5年的数据是可用的,而不登录。在浏览器手动登录时的资产负债表URL正常工作的权利。)
有谁知道如何正确设置登录脚本?
它似乎很直接,但我已经尝试了整个一天使用不同形式的有效载荷/标题等,并找不到正确的方式......另外,我很困惑,因为我无法找到表单数据信息当检查登录页面时。
import csv
import requests
urlLogin = 'http://members.morningstar.com/memberservice/login.aspx'
urlBalanceSheet = 'http://financials.morningstar.com/ajax/ReportProcess4CSV.html?&t=XNYS:F®ion=usa&culture=en-US&cur=&reportType=bs&period=12&dataType=A&order=desc&columnYear=10&rounding=1&view=raw&r=149906&denominatorView=raw&number=1'
payload = {
"uEmail": "<userEmail>",
"uPassword": "<userPW>",
"remember_me": "on",
"login": "Sign In"
}
with requests.Session() as s:
p = s.post(urlLogin, data = payload)
print(p.status_code)
download = s.get(urlBalanceSheet)
它可能会将请求标记为bot并拒绝。尝试['mechanize'](https://github.com/python-mechanize/mechanize),这是(大部分)与浏览器无法区分的。 – Artyer
看起来像morningstart的前端是用角度写的,当你发送请求时你将不会得到任何东西。你需要使用无头浏览器。 – oshaiken
@Artyer'mechanize'解决方案会是什么样子? –