![](/img/trans.png)
[英]How to generate a PDF with non-ascii characters using from_string from python-pdfkit
[英]Links from list - How to generate several pdf's using python pdfkit
我目前正在試圖弄清楚如何獲取鏈接列表並使python運行所有鏈接並將其另存為pdf。 (我不是python專家)
我找到了一個名為“ pdfkit”的python軟件包,該軟件包相當不錯,但是如何設置它,使其遵循我的網址列表,並始終將pdf保存為其他名稱?
import pdfkit
config = pdfkit.configuration(wkhtmltopdf="C:\\Program Files (x86)\\wkhtmltopdf\\bin\\wkhtmltopdf.exe")
pdfkit.from_url('http://google.com', 'MyPDF.pdf', configuration=config)
這是我當前的代碼,可以說我有一個要保存為10個不同pdf文件的10個網頁的列表,我該如何進行設置以允許我這樣做?
另一個問題是,我需要登錄頁面才能從鏈接中抓取信息,您將如何實現呢?
最好的祝福,
回答第一個問題:
import pdfkit
config = pdfkit.configuration(wkhtmltopdf="C:\\Program Files (x86)\\wkhtmltopdf\\bin\\wkhtmltopdf.exe")
url_list = [
['http://google.com', 'google.com.pdf'],
['http://facebook.com', 'facebook.com.pdf'],
['http://yahoo.com', 'yahoo.com.pdf'],
]
for k, v in url_list:
pdfkit.from_url(k, v, configuration=config)
對於第二個問題的答案,您可以使用請求模塊會話功能先登錄,然后將cookie傳遞給pdfkit以下載頁面。 請參閱創建需要使用pdfkit登錄的https網頁的PDF。
import selenium.webdriver
import pdfkit
import time
config = pdfkit.configuration(wkhtmltopdf="C:\\Program Files
(x86)\\wkhtmltopdf\\bin\\wkhtmltopdf.exe")
driver = selenium.webdriver.Chrome()
driver.get('https://www.linkedin.com/')
time.sleep(1)
driver.find_element_by_id('login-email').send_keys('username')
driver.find_element_by_id('login-password').send_keys('password')
driver.find_element_by_id('login-submit').click()
time.sleep(2)
driver.save_screenshot('output.png') # only visible part
print(driver.page_source)
pdfkit.from_string(driver.page_source, 'file.pdf')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.