我试图登录这些网站: https://www.epexspot.com/en/extras/EPEXme/login使用Python的requests方法。我尝试了以下代码,但由于我对此很陌生,因此很难从网站上获取相关的标题信息。
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向我提供了登录网站的信息,而不是我想要的内容。 如上所述,我对这个登录stuf真的很新。我在这里阅读了很多,但我想我的主要问题是如何理解和识别我需要从网站中提取的组件(标题,有效负载)。 我知道可能还有其他工具可以完成相同的工作,但我的主要目标是了解这些基础知识。
谢谢!!!
答案 0 :(得分:1)
查看页面登录<form>
的HTML源代码,该代码位于第267至292行。
您需要将有效内容数据提交到表单action
属性中的网址:“https://www.epexspot.com/en/extras/EPEXme/login/User/show_login_form”。
有效负载数据将包含各种<form>
数据元素的名称和值(通常为<input>
元素,但有时也包括其他内容,如<textarea>
),包括任何隐藏元素。此页面的相关元素名称为:
“用户show_login_form [表格] [登录] [第1页] [page_values] [page_sent]”
“用户show_login_form [表格] [登录] [第1页] [登录] []”
“用户show_login_form [表格] [登录] [第1页] [口令] []”
免责声明:我从未使用请求做过这种事情(上次我几年前使用urllib2做过),所以希望其他人能提供更多细节。