Я пытаюсь создать программу на Python, способную извлекать историю Chrome и закладки пользователя; однако при использовании локально сохраненной базы данных в C:\Users\<username>\AppData\Local\Google\Chrome\User Data\Default\History
у меня возникла проблема, что, если Chrome открыт в настоящее время, я получаю сообщение об ошибке:
Traceback (most recent call last):
File "C:/Users/*****/PycharmProjects/*******/chromer_history_reader.py", line 10, in <module>
cursor.execute(select_statement)
sqlite3.OperationalError: database is locked
Есть ли способ обойти это?
Я пытался изучить способы использования API Chrome для получения истории (https://developers.chrome.com/extensions/history), но, похоже, я могу использовать API только с использованием JavaScript и расширения Chrome.
import os
import sqlite3
from pprint import pprint
history_db = os.getenv("APPDATA") + "\\..\\Local\\Google\\Chrome\\User Data\\Default\\History"
c = sqlite3.connect(history_db)
cursor = c.cursor()
select_statement = "SELECT urls.url, urls.visit_count FROM urls, visits WHERE urls.id = visits.url;"
cursor.execute(select_statement)
results = cursor.fetchall()
pprint(results)
Мне бы хотелось, чтобы я мог видеть историю / закладки Chrome пользователя, даже если в настоящее время Chrome открыт.