[英]Logging into a website and retrieving HTML with Python
我需要登錄網站以訪問我正在執行的項目的受登錄保護頁面上的html。
我正在使用此人的答案和所需的值:
from twill.commands import *
go('https://example.com/login')
fv("3", "email", "myemail@example.com")
fv("3", "password", "mypassword")
submit()
假設這應該登錄我,然后運行:
sock = urllib.urlopen("https://www.example.com/activities")
html_source = sock.read()
sock.close()
print html_source
我以為會打印(現在)可訪問頁面的html,但是只給了我登錄頁面的html。 我嘗試了其他方法(例如,機械化),但得到的結果相同。
我想念什么? 是否某些網站限制了這種登錄類型,或者它不能與https或其他工具一起使用? (該網站是FitBit,因為我無法使用問題中的網址)
您正在使用一個庫登錄,然后使用另一個庫來檢索下一頁。 twill
和urllib
不共享有關您的會話的數據。 ( 與此問題類似 。)如果這樣做,則需要自己管理會話cookie /身份驗證。 具體來說,您需要復制Cookie +數據並將其添加到另一個庫中的登錄后請求中。
否則,更合乎邏輯的是,對登錄請求和登錄后請求使用相同的請求。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.