我发送了一个 POST 请求,该请求将我作为具有以下结构的字符串响应返回。:|hiddenField|field_name|field_value|

如何在 Python 中获取这些值,field_name 和 field_value?

我试过使用正则表达式,但我做不到。

|hiddenField|__VIEWSTATE|/wEPDwUKLTUzNjYxMTI2OA8WCB4IdndHcnVwb3MyiQYAAQAAAP////8BAAAAAAAAAAwCAAAASUJTQS5OZXRGb3JjZS5Nb2RlbCwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwEAQAAAJ8BU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tCU0EuTmV0Rm9yY2UuTW9kZWwuQ29yZS5FbnRpdGllcy5HcnVwb1Byb21vdG9yYSwgQlNBLk5ldEZvcmNlLk1vZGVsLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbF1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24EAAAxQlNBLk5ldEZvcmNlLk1vZGVsLkNvcmUuRW50aXRpZXMuR3J1cG9Qcm9tb3RvcmFbXQIAAAAICAkDAAAA|512|hiddenField|__VIEWSTATE1|AQAAAAEAAAAHAwAAAAABAAAABAAAAAQvQlNBLk5ldEZvcmNlLk1vZGVsLkNvcmUuRW50aXRpZXMuR3J1cG9Qcm9tb3RvcmECAAAACQQAAAANAwUEAAAAL0JTQS5OZXRGb3JjZS5Nb2RlbC5Db3JlLkVudGl0aWVzLkdydXBvUHJvbW90b3JhBgAAABw8SWRHcnVwb3Byb20+a19fQmFja2luZ0ZpZWxkFTxOb21lPmtfX0JhY2tpbmdGaWVsZCA8Q2RVc3VhcmlvR2VzdG9yPmtfX0JhY2tpbmdGaWVsZCA8SWRVc3VhcmlvR2VzdG9yPmtfX0JhY2tpbmdGaWVsZBo8RHRDcmlhY2FvPmtfX0JhY2tpbmdGaWVsZBg8RG9taW5pbz5rX19CYWNraW5nRmllbGQAAQEDAwEFDlN5c3RlbS5EZWNpbWFsD1N5c3RlbS5EYXRlVGltZQIAAAABMgYFAAAAEUdSVVBPIFBSSU1FQ09SQkFOBgYAAAAKMDAw|512|hiddenField|__VIEWSTATE2|MDEwNDk4MQgFAzEzMQgNgCrlF50A0AgGBwAAAAtQUklNRUNPUkJBTgseCWNvZEdlc3RvcgUKMDAwMDEwNDk4MR4HQ1JDUGFnZSgpWlN5c3RlbS5VSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoyOTAyOTk0ODc3HgpDUkNDb250ZW50BRJkZGxHcnVwb3NGaWx0cm8yX18WAmYPZBYCZg9kFgICAw9kFgICBQ9kFggCAw8PFgIeD0NvbW1hbmRBcmd1bWVudAURNC4xLjAuMDgxMy4wODAwLjBkZAIFDw8WAh4EVGV4dAVwVm9jw6ogZXN0w6EgZW0gPiA8c3Ryb25nPkhvbWU8L3N0cm9uZz4gID4gPHN0cm9uZz5SZWxhdMOzcmlvczwvc3Ryb25nPiA+IDxzdHJvbmc+UG9zacOnw6NvIGRl|512|

请您参考如下方法:

如果您可以假设数据始终采用给定格式,则可以使用以下函数将其转换为将字段名称映射到字段值的字典:

def parse(big_string_blob): 
  split_input = big_string_blob.split("|")     # (1) 
  field_names = split_input[2::4]              # (2) 
  field_values = split_input[3::4]             # (3) 
  return dict(zip(field_names, field_values))  # (4) 

1:将文本字符串转换为由 | 字符分隔的字符串列表。参见 string.split
2. 创建一个包含 split_input 从第三个元素开始的每四个元素的列表。这些对应于字段名称。
3. 创建一个包含 split_input 从第 4 个元素开始的每四个元素的列表。这些对应于字段值。
4. 创建一个字典,将第一个列表中的元素作为键映射到第二个列表中的相应元素。参见 zip .

您也可以在这里尝试一下:https://repl.it/Fyog/0


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!