这实际上是一个用python编写的简单脚本,我可以在Linux上正常运行它。但是当我将它移动到Windows时,出现了一个奇怪的错误。我希望得到一些帮助。在python 2.7上使用pyshark遇到lxml.etree.XMLSyntaxError
运行代码之前,我已经为环境做一些准备工作:
1.安装Microsoft Visual C++编译器Python 2.7版
2.安装Python 2.7.11
3. PIP安装pyinstaller
4。 easy_install pyshark
下面是我的代码的一部分。
# -*- coding: utf-8 -*-
from __future__ import print_function
import pyshark
import lxml
import os
def analysis_method(file_name):
cap = pyshark.FileCapture(input_file=file_name)
for packet in cap:
if hasattr(packet, "http"):
http_layer = packet["http"]
下面是错误信息:
回溯(最近通话最后一个):
文件 “packet_offline_analysis.py” 36行,在analysis_method
为分组上限:
文件“C: \ Python27 \ lib \ site-packages \ pyshark-0.3.6.1-py2.7.egg \ pyshark \ capture \ capture.py“,第173行,在_packets_from_tshark_sync中
self._get_packet_from_stream(tshark_process.stdout,data,psml_structure = psml_structure ))
文件“C:\ Python27 \ lib \ site-packages \ trollius-1.0.4-py 2.7-win32.egg \ trollius \ base_events.py“,第300行,在run_until_complete中
return future.result()
文件”C:\ Python27 \ lib \ site-packages \ trollius-1.0.4-py2.7 -win32.egg \ trollius \ futures.py“,第287行,结果
raise self._exception
lxml.etree.XMLSyntaxError:输入不正确UTF-8,指示编码!
字节:0xD6 0xD0 0xB9 0xFA,第6行,第58列