You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python的sqlite3修改Chrome历史?附代码报错解决

解决Python sqlite3修改Chrome历史记录的问题

错误原因及修正

你碰到的TypeError是因为executemany()要求传入两个参数:SQL语句和参数序列,但你这里不需要批量执行SQL,改用execute()即可。同时你的SQL语句存在语法错误,SQL中的字符串必须用单/双引号包裹,修正后如下:

修正后的代码

import sqlite3

# 替换为你的Chrome历史数据库路径,务必先关闭所有Chrome进程
history_path = "你的Chrome历史文件路径"

conn = sqlite3.connect(history_path)
c = conn.cursor()

# 修正SQL语法:字符串加引号,使用execute而非executemany
c.execute("UPDATE urls SET url = REPLACE(url, 'foo', 'foo-bar') WHERE url LIKE '%foo%';")

# 提交修改,这一步必须执行,否则修改不会保存到数据库
conn.commit()
conn.close()

关键注意事项

  • 关闭Chrome进程:Chrome运行时会锁定History数据库,必须关闭所有Chrome窗口(包括后台隐藏的Chrome进程),否则会出现数据库无法打开的错误。
  • 路径替换:根据你的操作系统替换history_path:
    • Windows:C:\\Users\\你的用户名\\AppData\\Local\\Google\\Chrome\\User Data\\Default\\History
    • Mac:~/Library/Application Support/Google/Chrome/Default/History
    • Linux:~/.config/google-chrome/Default/History
  • 提交修改:执行UPDATE语句后必须调用conn.commit(),否则所有修改只会停留在内存中,不会写入数据库。

内容的提问来源于stack exchange,提问作者Someoneyouhaventmet

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 08:15:43