簡體   English   中英

Python登錄網頁問題

[英]Python Login to Webpage Issue

我正在使用Spyder在Python 3.6中編碼我的項目。

由於我不熟悉網絡抓取和html,因此我下載了robobrowser來幫助我登錄到網頁。

我了解該過程,但是在訪問表單元素時遇到問題。

from robobrowser import RoboBrowser

browser = RoboBrowser(history=True)
url1 = "example_url"

username = "example_user"
password = "example_pass"

browser.open(url1)

form = browser.get_forms()
form['username'] = username

似乎只有一種形式,當我嘗試將其轉換為字符串的示例時,似乎正在尋找該形式。 由於某種原因,除非我轉換為字符串,否則它不會在spyder工作區中顯示為變量。

我查看了html,用戶名條目的名稱和ID的確是'username'。 我得到錯誤

form['username'] = username
       TypeError: list indices must be integers or slices, not str

它不喜歡我嘗試按“用戶名”形式訪問索引,但是這是我所看到的該模塊所有示例中的語法。 (對此鏈接的第一個答案是我正在使用的模板https://www.quora.com/What-is-the-best-way-to-log-in-to-a-website-using-Python

您可以嘗試直接在網址中使用登錄名和密碼。 這是方案:

http://USERNAME:PASSWORD@example.com/

暫無
暫無

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

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