我正在嘗試使用pdfkit對我們公司的wiki進行可視化備份。由於網站要求用戶登錄才能使用,因此我遇到了麻煩。我使用splinter開發了一個腳本,登錄到公司wiki中,但是當pdfkit執行時,它會返回登錄頁面。在這種情況下,PDFkit必須打開不同的會話。我如何能夠找出何時需要憑據(cookie)來訪問我網站上的頁面,並將它們保存爲變量,以便抓取這些屏幕截圖?在會話中保存憑證
我使用python 2.7.8分裂,請求和pdfkit
from splinter import Browser
browser = Browser()
browser.visit('https://companywiki.com')
browser.find_by_id('login-link').click()
browser.fill('os_username', 'username')
browser.fill('os_password', 'password')
browser.find_by_name('login').click()
import pdfkit
pdfkit.from_url("https://pagefromcompanywiki.com", "c:/out.pdf")
我也發現下面的腳本將登錄我和保存憑據,但我不知道如何配合它在以我正在嘗試做什麼。
import requests
import sys
EMAIL = ''
PASSWORD = ''
URL = 'https://company.wiki.com'
def main():
session = requests.session(config={'verbose': sys.stderr})
login_data = {
'loginemail': EMAIL,
'loginpswd': PASSWORD,
'submit': 'login',
}
r = session.post(URL, data=login_data)
r = session.get('https://pageoncompanywiki.com').
if __name__ == '__main__':
main()
如何完成這一任務的任何想法表示讚賞
這結束了工作。感謝您的幫助。但它只能屏蔽頁面的頂部。任何想法,如果有方法來設置參數,或確保它屏幕截圖整個頁面? –
@ChaseRaab不知道,對不起。請參閱[wkhtmltopdf選項列表](https://wkhtmltopdf.org/usage/wkhtmltopdf.txt) - 所有這些都可以通過pdfkit的「選項」字典傳遞,如[pdfkit docs](https:// pypi .python.org /的PyPI/pdfkit)。如果這沒有幫助,請嘗試單獨提問。 –