J'essaie d'utiliser pdfkit pour faire une sauvegarde visuelle de notre wiki d'entreprise. Je rencontre des problèmes car le site nécessite que l'utilisateur soit connecté pour pouvoir l'utiliser. J'ai développé un script en utilisant splinter qui se connecte au wiki de la compagnie, mais quand pdfkit s'exécute, il renvoie la page de connexion. PDFkit doit ouvrir une session différente dans ce cas. Comment serais-je en mesure de savoir quand les informations d'identification (cookies) sont nécessaires pour accéder aux pages de mon site, et de les enregistrer en tant que variables afin que je puisse saisir ces captures d'écran?Enregistrer les informations d'identification dans une session
J'utilise écharde python 2.7.8, les demandes et 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")
Je trouve aussi le script suivant qui me connecter et enregistrer des informations d'identification, mais je ne suis pas sûr de savoir comment l'attacher pour ce que j'essaie de faire.
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()
Toutes les idées sur la façon d'accomplir cette tâche sont appréciés
Cela a fini par fonctionner. Merci pour l'aide. Cependant, seul l'écran plafonne le haut de la page. Toute idée s'il y a un moyen de définir des paramètres, ou assurez-vous que l'écran capture l'intégralité de la page? –
@ChaseRaab Pas sûr, désolé. Consultez la [liste des options wkhtmltopdf] (https://wkhtmltopdf.org/usage/wkhtmltopdf.txt) - tous peuvent être passés via le dictionnaire 'options' de pdfkit, comme expliqué dans [pdfkit docs] (https: // pypi .python.org/pypi/pdfkit). Si cela ne vous aide pas, essayez de poser une question distincte à ce sujet. –