2

Python を使用して任意の Web ページをインライン化したい。私はそこにいくつかのライブラリを試しましたが、複雑な例を取るための nytimes などの「実際の」コンテンツではうまく機能しません。また、外部スタイルシートもインライン化したいと考えています。何かアドバイスはありますか?現時点での私のテストコードは次のとおりです。

import requests
import codecs
from html5tidy import tidy

url = "http://www.nytimes.com/"

r = requests.get(url)
src = tidy(r.text)


from pypremailer import Premailer
p = Premailer(src)
output = p.premail()
f = open("/tmp/pypremailer.html", "w")
f.write(output)
f.close()

from premailer import transform
output = transform(src)
f = open("/tmp/premailer.html", "w")
f.write(output)
f.close()

import pynliner
output = pynliner.fromString(src)
f = open("/tmp/pynliner.html", "w")
f.write(output)
f.close()

from inlinestyler.utils import inline_css
output = inline_css(src)
f = open("/tmp/inlinestyler.html", "w")
f.write(output)
f.close()

ありがとう

4

2 に答える 2

1

Pynliner はもはや活発な開発が行われておらず、 python3 の準備ができていません。だから私は toronado使うことをお勧めします。

于 2014-08-18T10:15:02.030 に答える
0

Pynliner は、特に CSS スタイルシート タグを処理できるため、Web URL に最適です。

from pynliner import Pynliner
p = Pynliner()
p.from_url('http://mashable.com/2014/06/03/iwilllisten-philadelphia/')
p.run()

それは理論上です..実際には、対処する必要があるいくつかの奇妙なBeautifulSoupの問題に遭遇するでしょう..

于 2014-06-03T15:02:24.927 に答える