2017-09-26 61 views
0

我正在嘗試從HTTPS位置使用SSL讀取XML文件到熊貓數據框中。我發現了一些示例代碼,但無法使其工作。我該怎麼去做呢?使用SSL從HTTPS讀取文件到熊貓數據框

import requests 
urllink='https://www.oasis.oati.com/woa/docs/MISO/MISODocs/CurrentData/2308_Planned_Outages_2017-09-19-18-50-00.xml' 

cCert = r'C:/Temp/MISOcert.pfx' 
requests.get(urllink, cert=cCert) 

如果我將XML文件放在本地,我能夠將XML文件讀入數據框。爲此,我使用xml.etree.ElementTree。

但我希望能夠直接使用證書認證並將XML讀入數據框。

+0

你想驗證客戶端嗎? cert arg用於客戶端,並接受字符串'(cert,key)'的元組,使用verify作爲服務器端並且是單個字符串。 – T4rk1n

回答

0

我並不真的建議使用verify = False作爲requests.get調用,但下面的方法適用於我。它拉取數據並構建xml文檔。不過,您可以將其加載到數據幀中。

import requests 
import xml.etree.ElementTree as ET 


def get_data(url): 
    response = requests.get(urllink, verify=False) 
    return ET.fromstring(response.text) 

if __name__ == '__main__': 
    url = 'https://www.oasis.oati.com/woa/docs/MISO/MISODocs/CurrentData/2308_Planned_Outages_2017-09-19-18-50-00.xml' 
    xml_document = get_data(url) 
+0

這很好用。你不推薦使用verify = false。那麼你會如何建議用True來進行呢?此外,一個天真的問題:__name__ =='__main__':這是做什麼? –