我正嘗試從Yahoo幻想足球頁面下載DOM。數據需要雅虎用戶。我正在尋找python庫,我可以添加我的用戶/傳遞到請求。Python3:使用用戶名/密碼從網頁下載DOM
的urllib具有HTTPBasicAuthHandler這就需要一個HTTPPasswordMgr Objects
的add_password場說我缺少一個說法,當我嘗試將它傳遞它想要的4。我不確定要爲該領域提供什麼。我是Python的新手。
我已經找到了Requests看有希望的,但是當我安裝它,它拋出一個錯誤,我不能正確導入:\
我希望這是一個有點容易在Python做!
import urllib.request
try:
url = "http://football.fantasysports.yahoo.com/"
username = "un"
password = "pw"
pwObj = urllib.request.HTTPPasswordMgr.add_password("http://yahoo.com",url, username, password)
request = urllib.request.HTTPBasicAuthHandler(pwObj)
result = urllib.request.urlopen(request)
print(result.read())
except Exception as e:
print(str(e))
# Error: add_password() missing 1 required positional argument: 'passwd'
理想的解決辦法必須有人需要憑據:)
您確定此網站使用HTTP基本身份驗證嗎?它可能使用某種形式的基於會話的身份驗證。你有鏈接到認證頁面嗎? – mhawke
是的,我正在使用的解決方案使用Selenium來欺騙瀏覽器。 – mattyd
不知道Selenium與該網站是否使用HTTP基本身份驗證與基於會話的身份驗證相關的內容,但是,由於您使用的是Selenium,爲什麼不使用它來登錄並從網頁上抓取任何想要的數據呢? – mhawke