我想从浏览器的缓存中获取一些数据。Chrome的缓存文件名类似于f_00001
,这是毫无意义的。ChromeCacheView可以获得与缓存文件名相对应的请求链接。
ChromeCacheView是一个小型实用工具,它读取Google浏览器的缓存文件夹,并显示当前存储在缓存中的所有文件的列表。对于每个缓存文件,将显示以下信息: URL、内容类型、文件大小、上次访问时间、终止时间、服务器名称、服务器响应等。您可以轻松地从缓存列表中选择一个或多个项,然后将文件解压缩到另一个文件夹,或者将URL列表复制到剪贴板。
但这是一个只能在Windows上运行的GUI程序。我想知道它是如何工作的。
换句话说,如何获得有关缓存文件的更多信息,特别是请求链接等。。
发布于 2022-04-14 12:28:48
经过长时间的搜寻,我找到了答案。
有关Chrome磁盘缓存格式的说明可在以下页面中找到:
通过阅读这些文档,我们可以用任意编程语言实现解析器。
幸运的是,我找到了两个python库来完成这个任务。
第一种方法在Python3下似乎不能正确工作。第一种方法在Python3下似乎不能正常工作。第二个很棒,做得很好。关于如何使用后视,主页上有详细的说明,我将介绍如何将它集成到我们的项目中。
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))
仅此而已,请加入吧。谢谢后视。
https://stackoverflow.com/questions/71855425
复制相似问题