2

我想使用 python 内联任意网页。我已经尝试了几个库,但它们都不能很好地处理“真实”内容,例如 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 确实可能最适合 Web URL,特别是因为它能够处理 CSS 样式表标签。

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 回答