如何解析 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 -&gt; response -&gt; content -&gt; 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 文件以提取文本内容?的主要内容,如果未能解决你的问题,请参考以下文章

关于C#从Word文件中提取内容(包括样式文字,图片,公式,表格)等信息,解析分字段写入数据库的问题。

如何在 azure devops 中解析 yaml 文件

如何利用python提取文本内标题下的内容?

harview .har文件解析

自动化“另存为带有内容的 HAR”

PB语言如何解析一个以TAB分割的文本文件,并把文件内容读取到SQL Server数据库中? 希望能给出代码,谢谢