我在網絡分析報告平臺中有一個URL,它基本上會觸發您正在查看的報告的下載/導出。下載的文件本身是一個CSV文件,觸發下載的鏈接使用幾個附加參數來定義報告中的字段等內容。我期望做的是下載該鏈接觸發下載的CSV。從URL中獲取觸發以Python下載的文件
我正在使用Python 3.6,並且我被告知我將部署的服務器不支持Selenium或PhantomJS等任何Webkit。有沒有人成功完成了這個?
我在網絡分析報告平臺中有一個URL,它基本上會觸發您正在查看的報告的下載/導出。下載的文件本身是一個CSV文件,觸發下載的鏈接使用幾個附加參數來定義報告中的字段等內容。我期望做的是下載該鏈接觸發下載的CSV。從URL中獲取觸發以Python下載的文件
我正在使用Python 3.6,並且我被告知我將部署的服務器不支持Selenium或PhantomJS等任何Webkit。有沒有人成功完成了這個?
如果該文件是一個CSV文件,您可能需要考慮直接下載它的內容,通過使用請求模塊,像這樣。
import requests
session=requests.Session()
information=session.get(#the link of the page here)
,那麼你可以將信息解碼,並根據需要使用CSV模塊,像這樣(csv模塊應該導入)讀取其中的內容:
decoded_information=information.content.decode('utf-8')
data=decoded_information.splitlines()
data=csv.DictReader(data)
您可以使用一個for循環訪問每個行中的數據,你想使用的列標題的字典鍵的,像這樣:
for row in data:
itemdate=row['Date']
...
或者你也可以通過他們喜歡的東西寫t將文件保存解碼後的內容他:
decoded_information=information.content.decode('utf-8')
file=open("filename.csv", "w")
file.write(decoded_information)
file.close
一對夫婦與CSV模塊上的文檔鏈接在這裏提供以防萬一你以前沒有使用過它:
https://docs.python.org/2/library/csv.html http://www.pythonforbeginners.com/systems-programming/using-the-csv-module-in-python/
希望這有助於!
爲什麼你不能保存文件的URL,然後直接請求它? –
當你用Selenium做element.click()時,客戶端機器就是下載的目標。所以文件應該在您的Downloads文件夾中。服務器不需要安裝Selenium(除非它也是客戶機)。 –