如何使用python下载推送到浏览器的文件?

如何使用python下载推送到浏览器的文件?,python,download,scrapy,Python,Download,Scrapy,我想用python下载一个zip文件 使用这种类型的url, 通过使用urllib2.urlopen并将其写入本地文件,这非常简单 但在我的例子中,我有这种类型的url: , 下载在表单验证后启动 在我的例子中,我想把它部署到HeloCU上是很有用的,所以我不能使用C++构建的SPNER。此下载是在使用scrapy的刮片之后启动的 从一个浏览器下载工作良好,我得到了一个很好的zip文件的名称。使用python我只得到html和标题数据 有没有办法从python中的此类url获取文件?此站点提供J

我想用python下载一个zip文件

使用这种类型的url, 通过使用urllib2.urlopen并将其写入本地文件,这非常简单

但在我的例子中,我有这种类型的url: , 下载在表单验证后启动

在我的例子中,我想把它部署到HeloCU上是很有用的,所以我不能使用C++构建的SPNER。此下载是在使用scrapy的刮片之后启动的

从一个浏览器下载工作良好,我得到了一个很好的zip文件的名称。使用python我只得到html和标题数据


有没有办法从python中的此类url获取文件?

此站点提供JavaScript,然后调用下载。 您别无选择,只能:a)在模拟浏览器环境中评估JavaScript,或b)手动解析JS的功能,然后在python中重新实现。e、 g.提取URL和下载键的字符串,可能调用AJAX请求,最后下载文件


我通常推荐与网页相关的自动化,但它也不能处理JavaScript,所以我想如果你想采用方案b,你可以选择Scrapy)。

当你在浏览器中下载时,打开开发者控制台的网络选项卡,记录下HTTP方法(可能是POST)、POST参数、cookie,以及验证过程中的所有其他内容;然后使用一个库来复制它。

可能重复响应的样子?这是一个HTML页面,还是你要找的实际文件,就像一个Scrapy
响应
对象一样?这不是重复的,这里我无法得到。就像pdf文件一样。我得到了一个HTML页面,是的,提供了一个真实的链接,这样我可以检查它的源代码。Mechanize不支持JavaScript。我知道,但可能需要cookies。Scrapy负责cookies,会话、重定向等,所以我认为Mechanize不会添加任何额外的功能。