[英]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>
查看https://www.mmoga.com ,登錄URL似乎是: https : //www.mmoga.com/login.php?action=process
我認為您也應該將會話對象用於POST,以便憑據cookie實際上存儲在其中
r = session.post(URL,數據=有效載荷)
在該頁面上發布登錄表單時,您還需要傳遞帶有名為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.