[英]How to convert webpage to pdf in python like the save as pdf option in print
我有一個需要登錄(身份驗證)的網站,該網站有一個消息頁面,我想將所有評論轉換為pdf。 最初,我只是單擊每個注釋,然后在firefox瀏覽器中選擇打印,然后將注釋流另存為pdf。 問題是有很多,所以我決定寫一個python腳本,但是我遇到了問題。 這是我的代碼:
import mechanize
import pdfkit
import os
br = mechanize.Browser()
br.set_handle_robots(False)
br.addheaders = [("User-agent","Firefox")]
sign_in = br.open("www.mysite.com")
br.select_form(nr = 0)
br["username"] = "username"
br["password"] = "password"
logged_in = br.submit()
br.open("comments_page")
all_comment_links = []
# Iterate the links
for link in br.links():
if "comment" in link.url:
all_comment_links.append(link)
for l in all_comment_links:
ret = br.open("comments_page").read()
pdfkit.from_url(l.url, l.text + ".pdf")
# pdfkit.from_string(ret, l.text + ".pdf")
file = open(l.text + ".html", "w")
file.write(ret)
file.close()
# try from file
#for f in glob.glob("*.html"):
# pdfkit.from_file(f, f.replace(".html", ".pdf"))
我正在嘗試使用pdfkit lib將每個評論頁面轉換為pdf,但未成功。 我嘗試使用url( pdfkit.from_url
),僅使用字符串( pdfkit.from_string
),並將html保存到文件( pdfkit.from_file
),但無法弄清楚為什么它不起作用。 據我所知,機械化的東西起作用是因為我的html文件包含我想要的所有注釋以及正確的內容。 我到處尋找不同的方法,但這是我所想要的。
該腳本不會引發任何錯誤,它只能與第一個pdf一起掛起,因為它無法訪問頁面/內容。 我讓它運行了一段時間,但只創建了第一個pdf文件,但是當我嘗試打開它時,它說它已損壞。 我是否使用pdfkit錯誤?還是應該使用其他方式將這些頁面轉換為pdf? 謝謝,感謝您的幫助。 在Mac OS X上運行。
我最初的猜測是pdfkit不會從機械化接收任何會話信息,因此它嘗試使用身份驗證后的頁面而不登錄。
您可能應該首先使用機械化下載html,然后將其本地轉換。
但是,由於您說您也無法從文件中獲取結果,因此您應該嘗試使用交互式python shell並嘗試將pdfkit手動應用於本地文件,以查看出現什么錯誤。
另一件事可能是pdfkit輸入文件或輸出文件不在您可能合理期望的目錄中,因此應嘗試使用絕對路徑作為參數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.