我想使用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()
感谢
答案 0 :(得分:1)
Pynliner不再处于积极发展状态not ready for python3。所以我会建议使用toronado 。
答案 1 :(得分:0)
Pynliner确实可能最适合网址,特别是因为它能够处理CSS样式表标签..
from pynliner import Pynliner
p = Pynliner()
p.from_url('http://mashable.com/2014/06/03/iwilllisten-philadelphia/')
p.run()
理论上的......实际上你会遇到一些需要解决的奇怪的BeautifulSoup问题。