python操作数据库修改wordpress内容

作者: admin 分类: python 发布时间: 2022-07-26 00:25

昨天用python采集了一批文章以后发现格式有问题,于是只能把之前发的文章删除掉。在修改好那个格式问题以后,再次发送,又发现了另外一个问题,只好删除又重新发。如果反复多次,于是想到能不能直接用python操作数据库修改wordpress内容呢?答案是肯定的,我以前就用易语言实现过这个功能,不过用python如何实现不清楚,通过查阅资料,反复实践,终于搞定了。

代码就不贴了,如有需要,请加我个别交流。在折腾过程中遇到了两个问题,下面说说解决方法:

1、服务器要开放3306端口,一般情况下,服务器是关闭了3306数据库端口的,目的是为了防止入侵。但这样的话,你也无法远程链接操作数据库了。其它类似的防火墙设置也应该把你本机的IP添加到白名单中,不然防火墙也可能会拦截掉外部主机对数据库的操作。

2、设置要操作的数据库,把权限设置为:所有人都可以操作。默认是只有本地服务器可以操作数据库。

3、修改数据时,SQL语句要正确。我在写代码的过程中遇到个问题,折腾了好久没解决,后面经过与群里网友交流找到了问题所在,即插入的字符串要添加引号。

原先错误的代码:

#改MYSQL数据语句
sql_update="UPDATE wp_posts SET post_content ="+content+" WHERE ID = "+str(row[1])

正确的写法:

#改MYSQL数据语句
sql_update="UPDATE wp_posts SET post_content ='"+content+"' WHERE ID = "+str(row[1])

其中content是一个字符串变量,错误写法中,并没有给这个字符串加引号,正是由于缺少这个引号,导致一直报语法错误。加上引号以后,就正常运行了。

群里网友还提供了另外一种写法,更不容易出错:

update_sql = '''update t set a='%s' where b = '%s';''' % (a,b)

格式化更简洁,只不过我很少用格式化的方法写,所以不熟悉,没有采用这种方法写。

通过数据库批量修改内容速度非常快,这样就可以非常方便的修改已经发送的文章内容。当然这个还需要正则匹配、正则替换的配合,这样就算发现采集的内容有问题,也可以通过查询数据库内容、修改数据库内容,实现快速定位从而修改内容的目的,高效的多,再也无需担心采集的内容有问题,需要一篇篇手动修改了。

相关文章

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

Powered by 草根站长笔记 © 2015-2020 草根站长笔记 Inc.版权所有,禁止转载