2016-02-25 93 views
0

我有一個網站讓我們說xyz.com。用戶需要用戶名/密碼才能登錄。現在登錄後,用戶可以看到幾個不同PDF文件的鏈接。我需要自動執行此登錄過程並將PDF下載並保存到我的計算機上的特定位置。我怎樣才能在Python中做到這一點?如何使用python登錄網站並下載PDF?

+1

分享你的研究可以幫助每個人。告訴我們你試過的東西以及爲什麼 它不符合你的需求。這表明你已經花時間 試圖幫助自己,它使我們避免重申明顯的答案, ,最重要的是它可以幫助您獲得更具體和相關的答案! 另請參閱[如何問](http://stackoverflow.com/questions/how-to-ask) –

+0

你是如何要求輸入密碼的? BasicAuth還是更加奇特的用戶界面? – MaxNoe

+0

它是一個基於JSP的網站。所以我假設它是一個基本的JSP認證。 – aamadmi

回答

1

根據你的模糊問題,我也會給你一個模糊的答案。

您可以使用Selenium Library使用Python自動化網絡瀏覽器交互。

使用Selenium庫,可以以直觀的方式訪問瀏覽器的所有功能。它允許用戶打開,打字,點擊等。

你應該read the Selenium official docs瞭解如何實現這一點。或者你可以從another source讀取它。

舉個例子,你可以使用一些代碼一樣,在你的「xyz.org」網站登錄。

from selenium import webdriver 
from selenium.webdriver.common.keys import Keys 
import time 

browser = webdriver.Firefox() 
browser.get("xyz.org/login.php") 
time.sleep(10) 

username = browser.find_element_by_id("extpatid") 
password = browser.find_element_by_id("extpatpw") 

username.send_keys("your-username") 
password.send_keys("your-password") 

login_attempt = browser.find_element_by_xpath("//*[@type='submit']") 
login_attempt.submit() 

提交後,你可以搜索使用webdriver的下載鏈接,然後.click()它來下載你的文件。