2017-02-21 25 views
1

我疯了,因为下列问题。我想要做的是登录到网站,下载文件,同时将下载请求保存为xlsx。请求或Urllib - 在网站中登录,发送下载请求到url,并保存为xlsx

我很确定我需要使用请求库,但似乎并不知道如何做到这一点。这是我到目前为止有:

import requests 



# URL Data 



login_url = 'https://reporting.integralplatform.com/uaa/login#/' 

report_url = 'https://integralplatform.com/home/brand-safety/firewall?period=%5B2016-09-01..2017-02-19%5D&publisher=all&placement=all&deliveryEnvironment=%5Bdesktop%5D&includeCampaign=true&campaigns=52921%3A52919%3A52931%3A52922%3A52933%3A54272%3A52934%3A54370%3A54363%3A54372%3A54362%3A54369%3A54368%3A54366%3A54365%3A54367&includePlacement=true&grouping=placementName&dateGroup=daily' 

download_url = 'https://integralplatform.com/reportingservice/api/teams/3236/fw/campaigns/52921%253A52919%253A52931%253A52922%253A52933%253A54272%253A52934/report.xls?period=%5B2016-09-01..2017-02-19%5D&cutoff=250&mediaType=mixed&groups=%5Bcamp%3Apub%3Aplac%3Adaily%5D&tabs=%5Bfirewall%5D&settings=%7B%22Selected%20Report%22%3A%22Firewall%20Activity%22%2C%22Group%20Dates%20By%22%3A%22Day%22%2C%22Report%20By%22%3A%22Campaign%22%2C%22Campaign%22%3A%22%25%25CAMPAIGN_NAMES%25%25%22%2C%22Media%20Partner%22%3A%22All%22%2C%22Placement%22%3A%22Yes%22%2C%22Geo%20Level%22%3A%22Country%22%2C%22Cutoff%22%3A%22250%22%7D' 



# Payload 



payload = { 

    "username" : 'my username' 

, 

    "password": 'my password', 



    "_csrf_uaa": "507be70c-d4ff-4ea7-a3bf-d45cad3faa47", 

} 



# Authenticate 



login = requests.post(login_url, data=payload) 



# Download File 



download = requests.post(download_url, data=payload) 

然而,当我看着都login.content和download.content好像我无法登录,即使作为结果:

b'<!DOCTYPE html>\n<html lang="en" ng-app="iasLogin">\n<head>\n\n <meta charset="UTF-8">\n\n <title>IAS Login</title>\n\n\n <!-- Start Vendor CSS -->\n <link rel="stylesheet" href="css/ias-app-vendor.min.css">\n <!-- End Vendor CSS -->\n\n <!-- Start IAS CSS -->\n <link rel="stylesheet" href="css/ias-app.min.css">\n <!-- End IAS CSS -->\n\n</head>\n<body>\n\n <ias-headers></ias-headers>\n\n <div ui-view></div>\n\n <!-- Start Vendor JS -->\n <script src="js/ias-app-vendor.min.js"></script>\n <!-- End Vendor JS -->\n\n <!-- Start IAS JS -->\n <script src="js/ias-app.min.js"></script>\n <!-- End IAS JS -->\n\n</body>\n</html>' 

什么在我看来,对于有效载荷我显然做错了。但是,我不知道如何解决它。

为了澄清,report_url和download_url之间的区别在于,download_url是我在右键单击下载按钮时收到的网址。参数是固定的。

感谢所有帮助

回答

0

你可能会需要包括标题和页面提交连同当前的有效载荷形式的数据。