使用Python从数千篇旧博客帖子中删除指定文本

时间:2021-09-18 作者:henrikdundarion

我是一个使用WordPress的网页编辑,我的网站有一点令人讨厌的问题。我们基本上有数万篇文章可以追溯到大约十年前,我们必须删除从2012年到2018年我们在文章中发布的所有图像。原因是当时的网站编辑有一个坏习惯,即使用知识共享图片,而没有正确地对其进行归因,因此我们现在很容易受到法律诉讼。我批量删除了我们媒体库中所有的实际图像,但这仍然会在旧文章中留下随机的图像属性/文本,这一切看起来都是一团糟。我花了大约一天的时间阅读了一个月的旧文章来纠正这个问题。

无论如何,在我被迫跳出窗口结束痛苦之前,我想知道从概念上讲,是否有可能编写一些python代码来自动化这个过程。基本上,我们需要的是一个程序,该程序可以浏览我们在2012年至2018年间发布的每一篇文章,识别文本的各个部分(所有图像属性都以“信用”开头)然后删除所有文本。我是python的新手,我刚刚开始思考这个问题,但我想知道是否有经验丰富的人认为这至少是可能的。我真诚地认为,对于我来说,学习python并做到这一点所需的时间比手动浏览每篇文章所需的时间要少,因为该网站上的内容太多,所以删除了所有内容。

1 个回复
SO网友:ScottM

不需要开发一个脚本来做你想做的事情,结束你的痛苦,从而使事情变得过于复杂。您可以使用SQL来实现这一点,前提是您有权访问数据库。

如果您使用的是MySQL 8+,那么可以在查询中使用PREG\\u REPLACE,正如本文所建议的:How to remove all tag from column using a SQL query

UPDATE wp_posts
SET post_content = REGEXP_REPLACE(post_content, \'<img.*?/>\', \'\')
WHERE post_content LIKE \'%<img%\';
Note - 强烈建议在执行任何SQL操作之前备份您的网站或至少数据库。

相关推荐

如何使用PYTHON使用Blogger API拉取WordPress博客数据

Wordpress提到它支持Blogger API(link). 那么,谁能告诉我如何使用Blogger API(使用python)v3来获取wordpress公共博客数据。或者,是否有任何wordpress API可以从其博客中提取公共数据?(语言:Python)。如果有任何有用的文件能够清楚地解释程序,我们将不胜感激。