Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从触发Python下载的URL获取文件_Python_Python 3.x_Web Scraping - Fatal编程技术网

从触发Python下载的URL获取文件

从触发Python下载的URL获取文件,python,python-3.x,web-scraping,Python,Python 3.x,Web Scraping,我在web analytics报告平台中有一个URL,它基本上会触发您正在查看的报告的下载/导出。下载的文件本身是一个CSV,触发下载的链接使用几个附加参数来定义报告中的字段等内容。我想做的是下载链接触发下载的CSV 我使用的是Python3.6,有人告诉我,我将要部署的服务器不支持Selenium或任何像PhantomJS这样的WebKit。有人成功地完成了这个吗? 如果文件是CSV文件,你可能想考虑使用请求模块直接下载它的内容。 import requests session=request

我在web analytics报告平台中有一个URL,它基本上会触发您正在查看的报告的下载/导出。下载的文件本身是一个CSV,触发下载的链接使用几个附加参数来定义报告中的字段等内容。我想做的是下载链接触发下载的CSV


我使用的是Python3.6,有人告诉我,我将要部署的服务器不支持Selenium或任何像PhantomJS这样的WebKit。有人成功地完成了这个吗?

如果文件是CSV文件,你可能想考虑使用请求模块直接下载它的内容。
import requests
session=requests.Session()
information=session.get(#the link of the page here)
然后,您可以使用CSV模块对信息进行解码,并按照您的意愿读取内容,类似于以下内容(应导入CSV模块):

您可以使用for循环访问数据中的每一行,如您所愿,使用列标题作为字典键,如下所示:

for row in data:
itemdate=row['Date']
...
或者,您可以将解码后的内容写入如下文件,以保存这些内容:

decoded_information=information.content.decode('utf-8')
file=open("filename.csv", "w")
file.write(decoded_information)
file.close
此处提供了几个关于CSV模块的文档链接,以防您以前没有使用过:


希望这有帮助

为什么不能保存文件的URL,然后直接请求它呢?当您使用Selenium执行类似element.click()的操作时,客户机就是下载的目标。因此,该文件应最终位于下载文件夹中。服务器不需要安装Selenium(除非它也是客户机)。
decoded_information=information.content.decode('utf-8')
file=open("filename.csv", "w")
file.write(decoded_information)
file.close