如何解析 HAR 文件以提取文本内容?
Posted
技术标签:
【中文标题】如何解析 HAR 文件以提取文本内容?【英文标题】:How to parse HAR file to extract text content? 【发布时间】:2020-09-30 05:57:24 【问题描述】:我将网络数据保存在 har 文件中。现在我想提取包含特定单词的整个内容字典作为指示符,以将该字典保存到数组中。 har 文件中有多个包含该值的类似字典,我想创建一个包含所有响应的数组。
我对 python 还很陌生(和一般的编码),explainlikeimfive 对我有很大帮助。
【问题讨论】:
pypi.org/project/haralyzer 看起来很合适。它可以解析和分析一个har文件。 【参考方案1】:您可以使用haralyzer
模块。您可以使用pip
轻松安装它,如下所示:
pip install haralyzer
以下代码使用此示例har file:
>>> import json
>>> from haralyzer import HarParser, HarPage
>>>
>>> with open('sample.har', 'r') as f:
... har_parser = HarParser(json.loads(f.read()))
>>>
>>> data = har_parser.har_data
>>> type(data)
<class 'dict'>
>>>
>>> data.keys()
dict_keys(['version', 'creator', 'pages', 'entries'])
>>>
>>> har_parser.har_data["pages"]
['startedDateTime': '2013-08-24T20:16:16.997Z', 'id': 'page_1', 'title': 'http://ericduran.github.io/chromeHAR/', 'pageTimings': 'onContentLoad': 317, 'onLoad': 406]
欲了解更多信息,请查看official GitHub repository。
【讨论】:
如何访问包含单词的特定响应(网站向用户显示的文本)? har 文件很大,大约 200 mb。为了澄清数据在网站中显示为表格。所以在 har 文件中有多个类似 dict 形式的数据表 你能提供这个 har 文件吗? 如何为您提供 har?它包含很多我不确定是否可以分享的数据 然后,您可以使用我的代码作为起点,如果您发现任何问题,我很乐意提供帮助 @X_Trust,我已更改链接。现在,您可以在下载前查看文件。【参考方案2】:根据 Anwarvic 的回答,HAR 文件中具有基于文本的内容类型的条目包含键 entry -> response -> content -> text
中的实际内容。因此,这是一个打印所有此类条目内容的示例。
.... initialize har parser as per documentation ....
for page in har_parser.pages:
for entry in page.entries:
# Need to be careful accessing the text property, it will not exist for non text-based responses.
print(entry['response']['content'].get('text', ''))
从那里您可以使用in
或正则表达式来查看条目的响应文本是否与您要查找的文本匹配。
【讨论】:
以上是关于如何解析 HAR 文件以提取文本内容?的主要内容,如果未能解决你的问题,请参考以下文章