簡體   English   中英

使用Python請求登錄網站

[英]Logging into a website using Python Requests

我是Python的新手,我正嘗試使用Requests模塊登錄網站並打印出一些帳戶信息。 參見下面的代碼:

import requests

username = 'myusername'
password = 'mypassword'
URL = 'https://www.mmoga.com/login.php'
payload = {'email_address': username, 'password': password}

session = requests.session()
r = requests.post(URL, data=payload)
account = session.get('https://www.mmoga.com/shopping_cart.php')
print account.content

我還必須將標頭添加到requests.post嗎?

當我查看html源代碼時

<div class="boxHeading">
  <a href="mmoga.com/login.php"; title="- My Account -">- My Account -</a>
</div> 

但是我應該看到

<div class="boxHeading">
  <a href="mmoga.com/account.php"; title="- My Account -">- My Account -</a>
</div>

在該頁面上發布登錄表單時,您還需要傳遞帶有名為action的“ get”參數的查詢字符串:

import requests

username = 'myusername'
password = 'mypassword'
URL = 'https://www.mmoga.com/login.php'
payload = {'email_address': username, 'password': password}
params = {'action': 'process'}

session = requests.session()
r = session.post(URL, data=payload, params=params)
account = session.get('https://www.mmoga.com/shopping_cart.php')
print account.content

那應該解決登錄問題。 另外,登錄期間未使用該會話,因此您應使用session.post()如上所示。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM