我有一个网站,需要登录(身份验证),有一个消息页面,我想将所有评论转换为PDF格式。最初,我只是点击每一条评论,并选择在Firefox浏览器打印,并将评论流保存为PDF。问题是有这么多,所以我决定写一个Python脚本,但我有问题。这里是我的代码:如何将网页转换为PDF格式,如PDF格式保存为PDF格式打印
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格式,但没有成功。我曾尝试使用网址(pdfkit.from_url
),只是字符串(pdfkit.from_string
),并将html保存到文件(pdfkit.from_file
),但无法弄清楚为什么这不起作用。据我所知,机械化的东西起作用,因为我的html文件包含我想要的正确内容的所有评论。我已经四处寻找不同的方法,但这是我得到我想要的。
该脚本不会抛出任何错误,它只是挂起第一个pdf,因为它无法访问页面/内容。我已经运行了一段时间,但只创建了第一个pdf文件,但是当我尝试打开它时,它说它已损坏。我是否使用pdfkit错误或者我应该使用其他方式将这些页面转换为pdf?谢谢,并感谢任何帮助。在mac os上运行x。
考虑切换到硒。这些日子我真的很喜欢这样的事情。 – pguardiario
@pguardiario结束了使用硒,好多了。 –