gpt4 book ai didi

python - 数据不会在文档中解析,但会在 Python 中解析为虚拟数据

转载 作者:太空宇宙 更新时间:2023-11-04 06:01:33 25 4
gpt4 key购买 nike

我正在尝试运行一个脚本来解析日志中的数据。我认为问题在于 with open 语句或它读取关键字的方式。当我输入下面的内容时,我得到的是“WEB_SERVER_API”大约 1000 次。

我的代码:[根据 Banana 的反馈进行编辑]

from bs4 import BeautifulSoup

parsed_lines = []
to_find = ['QUERY_STRING','REMOTE_ADDR','HTTP_SERVER','CERT_SERIALNUMBER','CERT_SERVER_SUBJECT','CF_TEMPLATE_PATH','WEB_SERVER_API']

with open (r'C:/app/....', 'r') as log_lines:
data = log_lines.read()
log_lines.seek(0) # Added after edit.
for line in log_lines:
soup = BeautifulSoup(line)
parsed = {}
for keyword in to_find:
result = soup.find(text=keyword)
if result and hasattr(result.parent.next_sibling, "text"):
parsed[keyword] = result.parent.next_sibling.text
parsed_lines.append(parsed) # Changed after edit.
print (parsed_lines)

如果我添加虚拟数据,它会正确解析:

parsed_lines = []
to_find = ['QUERY_STRING', 'REMOTE_ADDR', 'HTTP_SERVER', 'OTHER']
log_lines = [
'<td>QUERY_STRING</td><td>fa=string</td><td>REMOTE_ADDR</td><td>address</td><td>HTTP_SERVER</td><td>address</td>',
'<td>QUERY_STRING</td><td>second qs</td><td>REMOTE_ADDR</td><td>address</td><td>HTTP_SERVER</td><td>address</td>',
'<td>OTHER</td><td>OtherValue</td><td>REMOTE_ADDR</td><td>address</td><td>HTTP_SERVER</td><td>address</td>'
'<action>QUERY_STRING</td><td>fa=string</td><td>REMOTE_ADDR</table><saasd>address</body><title>HTTP_SERVER</td><td>address</title>'
]

for line in log_lines:
soup = BeautifulSoup(line)
parsed = {}
for keyword in to_find:
result = soup.find(text=keyword)
if result:
parsed[keyword] = result.parent.next_sibling.text
parsed_lines.append(parsed)
print (parsed_lines)

最佳答案

在使用read() 之后就没有什么可读的了。您需要告诉 python 从第 1 行重新开始:

(...)
data = log_lines.read()
log_lines.seek(0) #read file from line 1
for line in log_lines:
(...)

参见 documentation了解更多信息。

[EDIT] 此外,您写错了 parsed_lines.append(keyword) 而不是 parsed_lines.append(parsed).

关于python - 数据不会在文档中解析,但会在 Python 中解析为虚拟数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24679973/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com