Python登录https网站(epex spot)使用requests下载文件

标签 python python-requests autologin

我尝试登录这些网站: https://www.epexspot.com/en/extras/EPEXme/login使用 Python 的 requests 方法。我尝试了以下代码,但由于我对此很陌生,因此很难从网站上获取相关的 header 信息。

from requests import session

payload = {
'text': 'username',
'password': 'password',
'logon': 'username',
'submit': 'Login'
}

headers = {
'Referer': 'https://www.epexspot.com/en/extras/EPEXme/login/login/
 aHR0cHM6Ly93d3cuZXBleHNwb3QuY29tL2VuL21hcmtldC1kYXRhL2hpc3RvcmljYWwtZGF0YS9
 yZXRyaWV2ZS9hdWN0aW9uX19nZXJtYW55X2F1c3RyaWEvYXVjdGlvbl9zcG90X3
 ByaWNlc19nZXJtYW55X2F1c3RyaWFfMjAxNC5jc3Y%3D'
'User-Agent': 'Mozilla/5.0 (Windows NT 5.1; rv:33.0) Gecko/20100101 Firefox/33.0'
}

with session() as c:
c.post('link', data=payload, verify=False, headers=headers)
request = c.get('https://www.epexspot.com/en/market-data/historical-data/retrieve
_auction_germany_austria/auction_spot_prices_germany_austria_2014.csv, verify=False)
request.content

然而,request.content 给我的是登录网站的信息,而不是我想要的内容。 如上所述,我对这个登录工具真的很陌生。我在这里读了很多书,但我想我的主要问题是如何理解和识别我需要从网站中提取的组件(标题、有效负载)。 我知道可能还有其他工具可以完成相同的工作,但我的主要目标是了解这些基础知识。

谢谢!!!

最佳答案

看一下页面登录的HTML源码<form> ,在第 267 到 292 行。

您需要将负载数据提交到表单的 action 中的 URL属性:“https://www.epexspot.com/en/extras/EPEXme/login/User/show_login_form”。

有效负载数据将包含各种 <form> 的名称和值。数据元素(通常是 <input> 元素,但有时也包括其他元素,如 <textarea> ),包括任何隐藏元素。此页面的相关元素命名为:

“User-show_login_form[form][login][page1][page_values][page_sent]”

"User-show_login_form[form][login][page1][login][]"

"User-show_login_form[form][login][page1][password][]"

免责声明:我从来没有使用 Requests 做过这种事情(我上一次做是在几年前,使用 urllib2),所以希望其他人能提供更多细节。

关于Python登录https网站(epex spot)使用requests下载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26729893/

相关文章:

python - 使用opencv和python计算相机到物体的距离

python - 在 python 模式下更改 "send code to interpreter"(C-c |) 命令

python - 使用 Python 请求对 magiccardmarket 进行 OAuth 身份验证

java - 如何在liferay中使用下载网址下载文档?

iOS NSURLRequest 以编程方式登录网站

python - NoReverseMatch at/login - LOGIN_URL 或反向功能出错?

python - 如何通过 TOR 和 Privoxy 使用 Python 请求获取 HTTPS 内容

python - 如何在使用 Python 脚本登录时保持登录 session

javascript - 如何使用 IE 自动登录网站?

python - 在python中计算指数移动平均线