すべてのコメントをpdfに変換するメッセージページを持つログイン(認証)が必要なウェブサイトがあります。もともと、私はすべてのコメントをクリックし、Firefoxのブラウザでプリントを選択し、コメントストリームをpdfとして保存しています。問題は非常に多いので、私はPythonスクリプトを書くことに決めましたが、私は問題を抱えています。ここに私のコードは次のとおりです。ウェブページを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"))
私はPDFに各コメントページを変換するpdfkitのlibが使用しようとしていますが、成功していません。私はURL(pdfkit.from_url
)、文字列(pdfkit.from_string
)を使用して、ファイル(pdfkit.from_file
)にhtmlを保存しようとしましたが、なぜこれが動作していないのかわかりません。私の知る限り、機械化の仕組みは、私のhtmlファイルには適切なコンテンツで必要なコメントがすべて含まれているため、機能します。私はさまざまなアプローチを見回してきましたが、これは私が望むところまで達しています。
スクリプトはエラーを投げず、ページ/コンテンツにアクセスできない最初のpdfでハングアップします。私はそれがしばらくの間実行されているが、最初のPDFファイルが作成されますが、私はそれを開くしようとすると、それは壊れていると言います。私は間違ったpdfkitを使用していますか、私はこれらのページをpdfに変換するために何か他のものを使用すべきですか?ありがとう、そしてどんな助けもありがとう。 Mac OS Xで実行しています。
セレンに切り替えることを検討してください。私は最近、このようなことのためにナイトメアが大好きです。 – pguardiario
@pguardiarioはセレンを使って、はるかに良くなった。 –