2017-02-26 3 views
1

Je viens de télécharger un site Web avec pythonPassing dans le fichier html mémoire PDFKit

p =urllib2.build_opener(urllib2.HTTPCookieProcessor).open('http://www.google.com') 
html_content = p.read() 

Et maintenant, je veux écrire dans un fichier pdf:

pdfkit.from_file(??????,'test.pdf') 

Mais comment puis-je passer le html_content dans la fonction? Il attend un fichier, mais je ne veux pas d'abord enregistrer le fichier en tant que html. Existe-t-il un moyen de passer le html_content récupéré dans la fonction pdfkit.from_file?

Note: Je ne souhaite pas utiliser .from_url, je veux d'abord aller chercher la page en utilisant urllib2.

Répondre

1

Il y a pdfkit.from_string:

.... 
html_content = p.read() 
pdfkit.from_string(html_content,'test.pdf') 

et pdfkit.from_url:

pdfkit.from_url('http://www.google.com') 

Et, pdfkit.from_file lecture nom de fichier comme premier paramètre, il accepte également l'objet comme fichier; vous pouvez passer la valeur de retour du urllib....open car il s'agit d'un objet semblable à un fichier.

Voir pdfkit usage.

+0

Mais il ressemble à from_string, n'interprète pas le html ... Il veut juste écrire le texte à un pdf? – Bosiwow

+0

Le fait de passer p en tant que fichier ne fonctionnait pas (cela créait un pdf vierge) cependant, la chaîne from_string a effectivement interprété la chaîne et elle a créé un joli pdf! Je vous remercie! – Bosiwow