我将我的网络数据保存在HAR文件中,现在想要提取整个包含特定关键词的内容字典,作为一个指示器将该字典保存到数组中。在HAR文件中有多个相似的字典都包含该值,我希望创建一个包含所有响应的数组。
我对Python(以及编码总体)还很陌生,像我五岁的解释会非常有帮助。
您可以使用 haralyzer
模块。您可以通过以下方式轻松使用 pip
进行安装:
pip install haralyzer
以下代码使用此示例har文件:har文件。>>> 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}}]
了解更多信息,请查看官方 GitHub 存储库。
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
或正则表达式来查看条目的响应文本是否与您要查找的文本匹配。