2016-02-25 58 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()它来下载你的文件。