簡體   English   中英

如何使用python解碼來自下載URL的XML請求響應

[英]how to decode XML request response from download URL using python

我使用requests庫從一個特定的URL獲得XML數據,並將其解析到pandas數據幀。 當我將其復制並粘貼到瀏覽器時,它會自動下載 XML 文件。 但是當我使用請求庫時,它會返回一個非常大的字節串或其他東西。 代碼如下:

import requests
import pandas as pd
import warnings

#don't want to print warnings now
warnings.filterwarnings("ignore")

#state url
url = "https://fnet.bmfbovespa.com.br/fnet/publico/downloadDocumento?id=137574"

#make request
r = requests.get(url,verify=False)

print(r.text)

打印結果是

PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9InllcyI/Pg0KPERhZG9zRWNvbm9taWNvRmluYW5jZWlyb3MgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSI+DQoJPERhZG9zR2VyYWlzPg0KCQk8Tm9tZUZ1bmRvPkZJSSBDT05USU5FTlRBTCBTUVVBUkUgRkFSSUEgTElNQTwvTm9tZUZ1bmRvPg0KCQk8Q05QSkZ1bmRvPjA0MTQxNjQ1MDAwMTAzPC9DTlBKRnVuZG8+DQoJCTxOb21lQWRtaW5pc3RyYWRvcj5CUi1DQVBJVEFMIERJU1RSLiBUSVRTLiBWQUxTLiBNT0JJTEnDgVJJT1MgUy5BLjwvTm9tZUFkbWluaXN0cmFkb3I+DQoJCTxDTlBKQWRtaW5pc3RyYWRvcj40NDA3NzAxNDAwMDE4OTwvQ05QSkFkbWluaXN0cmFkb3I+DQoJCTxSZXNwb25zYXZlbEluZm9ybWFjYW8+TFVJWiBMSU5BUkVTIENBTUJFUk88L1Jlc3BvbnNhdmVsSW5mb3JtYWNhbz4NCgkJPFRlbGVmb25lQ29udGF0bz4oMTEpIDU1MDgtMzUwNDwvVGVsZWZvbmVDb250YXRvPg0KCQk8Q29kSVNJTkNvdGE+QlJGTE1BQ1RGMDA5PC9Db2RJU0lOQ290YT4NCgkJPENvZE5lZ29jaWFjYW9Db3RhPkZMTUExMTwvQ29kTmVnb2NpYWNhb0NvdGE+DQoJPC9EYWRvc0dlcmFpcz4NCgk8SW5mb3JtZVJlbmRpbWVudG9zPg0KCQk8UmVuZGltZW50bz4NCgkJCTxEYXRhQXByb3ZhY2FvPjIwMjEtMDEtMDc8L0RhdGFBcHJvdmFjYW8+DQoJCQk8RGF0YUJhc2U+MjAyMS0wMS0wNzwvRGF0YUJhc2U+DQoJCQk8RGF0YVBhZ2FtZW50bz4yMDIxLTAxLTE1PC9EYXRhUGFnYW1lbnRvPg0KCQkJPFZhbG9yUHJvdmVudG9Db3RhPjAuMDA5MjwvVmFsb3JQcm92ZW50b0NvdGE+DQoJCQk8UGVyaW9kb1JlZmVyZW5jaWE+REVaRU1CUk8vMjAyMDwvUGVyaW9kb1JlZmVyZW5jaWE+DQoJCQk8QW5vPjIwMjA8L0Fubz4NCgkJCTxSZW5kaW1lbnRvSXNlbnRvSVI+dHJ1ZTwvUmVuZGltZW50b0lzZW50b0lSPg0KCQk8L1JlbmRpbWVudG8+DQoJCTxBbW9ydGl6YWNhbyB0aXBvPSIiLz4NCgk8L0luZm9ybWVSZW5kaW1lbnRvcz4NCjwvRGFkb3NFY29ub21pY29GaW5hbmNlaXJvcz4NCg==

我做錯了什么? 有沒有辦法解碼這個響應?

有效載荷是 Base64 編碼的。 base64.b64decode解碼

import base64
base64.b64decode(r.text)

https://developer.mozilla.org/en-US/docs/Glossary/Base64

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM