gpt4 book ai didi

Python 生成的 RSS : outputting raw HTML?

转载 作者:行者123 更新时间:2023-11-28 22:05:25 26 4
gpt4 key购买 nike

我正在使用 PyRSS2Gen,我想在我的 Feed 中为每个项目发布原始 HTML(特别是几张图片)。

然而,looking at the source RSSItem 的构造函数似乎不接受“图像”并且所有 HTML 都是自动转义的 - 有什么聪明的方法可以解决这个问题吗?

我找到了 this post ,但代码示例似乎不起作用。

如果有人有更好的解决方案,我不会依附于 PyRSS2Gen。也许我应该只编写自己的 RSS 提要?

谢谢!

最佳答案

我从痛苦的经历中了解到 PyRSS2Gen 不是解决这个问题的方法。问题是 PyRSS2Gen 使用 python 的 sax 库,特别是 saxutility.xmlwriter,它转义了 XML 中需要转义的所有字符,包括尖括号。所以即使你扩展 PyRSS2Gen 来添加标签,它仍然会出现问题。

通常,我看到 RSS 中的 html(它是 XML,而不是 html)被包装为 CDATA 部分。 Python 的 sax 库没有 CDATA 的概念,但 minidom 有。所以我所做的是放弃 PyRSS2Gen,添加一些额外的我自己的代码行,并使用 minidom 生成 XML。

你只需要Document from minidom(from xml.dom.minidom import Document)

您可以像这样构建文档:

doc = Document()
rss=doc.createElement('rss')
rss.setAttribute('version', '2.0')
doc.appendChild(rss)
channel=doc.createElement('channel')
rss.appendChild(channel)
channelTitle=doc.createElement('title')
channel.appendChild(channelTitle)

等,完成后生成xml(RSS)文件:

f = open('whitegrass.xml', "w")
doc.writexml(f)
f.close()

关于Python 生成的 RSS : outputting raw HTML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5371704/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com