9

研究すればするほど、見通しは厳しくなります。

Python で Web ページをフラット保存または静的保存しようとしています。これは、すべてのスタイルをインライン プロパティにマージし、すべてのリンクを絶対 URL に変更することを意味します。

ほぼすべての無料の変換 Web サイト、API、さらには github のライブラリを試しました。それほど印象的なものはありません。スタイルを平坦化するために私が見つけた最良の Python 実装はhttps://github.com/davecranwell/inline-stylerです。それを Flask 用に少し変更しましたが、生成されたファイルはそれほど優れたものではありません。外観は次のとおりです。

ここに画像の説明を入力

明らかに、見栄えが良くなるはずです。これは次のようになります。

https://dzwonsemrish7.cloudfront.net/items/3U302I3Y1H0J1h1Z0t1V/Screen%20Shot%202012-12-19%20at%205.51.44%20PM.png?v=2d0e3d26

不正な html、認識されない CSS プロパティ、Unicode エラーなどを処理するのは終わりのない闘争のようです。ファイルに移動できることを理解しています->ローカルブラウザーで保存しますが、これをまとめて実行しようとすると、実際には実行できない特定のxpathを抽出します。

Evernote の Web クリッパーは iFrame を使用しているように見えますが、それは私が思っているよりも複雑に思えます。しかし、少なくとも、切り抜きは Evernote ではまともに見えます。

4

2 に答える 2

3

しばらく離れた後、CSS をフラット化する Ruby ライブラリをインストールすることができました。ここの非常に遅い Web インターフェイスの背後にあるライブラリですhttp://premailer.dialect.ca/

Github でソースをリリースしてくれたことに感謝します。 https://github.com/alexdunae/premailer

スタイルをフラット化し、絶対 URL を作成し、URL または文字列で動作し、プレーン テキストの電子メール テンプレートを作成することもできます。このライブラリには非常に感銘を受けました。

2013 年 11 月の更新

純粋にクライアント側で動作する独自のブックマークレットを作成することになりました。Webkit と FireFox のみと互換性があります。各ノードを再帰的に処理し、インライン スタイルを追加してから、フラット化された HTML を clippy.in API に送信して、ユーザーのダッシュボードに保存します。

クライアント側のブックマークレット

于 2012-12-20T03:45:59.300 に答える
2

インラインスタイルはあなたにとって大きな問題になるかもしれませんが、そうでない場合は、EvernoteWebClipperをもう一度見てみることをお勧めします。デスクトップアプリには、Webクリップ用のHTMLのエクスポート機能があります。インラインスタイルで期待するように出力は少し厄介ですが、マークアップは保存されたページの信頼できる表現であることがわかりました。

インラインスタイルと外部スタイルに関しては、このような場合、クラス名のスタイルルールが競合するさまざまなサイトから多くのページを実行していると、インラインを回避する方法がわかりません。

Web ClipperがiFrameを使用しているとおっしゃいましたが、これがHTML出力の場合であるとは思いませんでした。別のサイトで再公開する場合は、静的ページをiFrameとして埋め込む必要がありますが(合法的に私が想定しています)、それ以外の場合は問題にはなりません。

いくつかの自動化は確かに役立つので、ブラウザからHTML出力に直接移動でき、おそらく保存された画像をHTMLの更新されたsrcリンクを持つ単一のリポジトリに再配置できます。もしあなたがこのようなことに取り組んでしまったら、私はそれを自分で試してみていただければ幸いです。

于 2012-12-20T01:04:35.813 に答える