如何获取有关Chrome缓存文件的更多信息?或者ChromeCacheView如何工作?

cpjpxq1n  于 2024-01-04  发布在  Go
关注(0)|答案(1)|浏览(242)

我想从浏览器的缓存中获取一些数据,Chrome的缓存文件名就像f_00001,这是没有意义的,ChromeCacheView可以获取该高速缓存文件名对应的请求链接。
ChromeCacheView是一个小型实用程序,用于读取Google Chrome Web浏览器的该高速缓存文件夹,并显示当前存储在该高速缓存中的所有文件的列表。对于每个缓存文件,将显示以下信息:URL、内容类型、文件大小、上次访问时间、缓存时间、服务器名称、服务器响应等。您可以轻松地从该高速缓存列表中选择一个或多个项目,然后将文件解压缩到另一个文件夹,或将URL列表复制到剪贴板。
但这是一个只能在Windows上运行的GUI程序。我想知道它是如何工作的。

换句话说,我如何获得更多关于缓存文件的信息,特别是请求链接等。

brjng4g3

brjng4g31#

经过漫长的探索,我找到了答案。
有关Chrome磁盘缓存格式的说明,请参阅以下页面:

通过阅读这些文档,我们可以用任意编程语言实现解析器。
幸运的是,我找到了两个Python库来做这件事。

第一个在Python 3下似乎不能正常工作。第二个很棒,做得很好。关于如何使用pyhindsight,在主页上有详细的说明,我将介绍如何将其集成到我们的项目中。

import pyhindsight
from pyhindsight.analysis import AnalysisSession
import logging
import os

analysis_session = AnalysisSession()

cache_dir = '~\AppData\Local\Microsoft\Edge\User Data\Default'
analysis_session.input_path = cache_dir
analysis_session.cache_path = os.path.join(cache_dir, 'Cache\Cache_Data')
analysis_session.browser_type = 'Chrome'
analysis_session.no_copy = True
analysis_session.timezone = None

logging.basicConfig(filename=analysis_session.log_path, level=logging.FATAL,
                    format='%(asctime)s.%(msecs).03d | %(levelname).01s | %(message)s',
                    datefmt='%Y-%m-%d %H:%M:%S')
run_status = analysis_session.run()

for p in analysis_session.parsed_artifacts:
    if isinstance(p, pyhindsight.browsers.chrome.CacheEntry):
        print('Url: {}, Location: {}'.format(p.url, p.location))

字符串
就这样,请加入。谢谢你的pyhindsight

相关问题