从php url获取可下载二进制文件的文件名,而无需实际下载文件

时间:2018-12-11 19:09:03

标签: javascript php python selenium web-scraping

我正在Python中使用Selenium进行网络抓取,并且页面上有指向例如的链接

<a href="/zip.php?zipid=103">Click Here To Download</a>

现在,当然,如果我单击它,我的浏览器将立即开始下载文件,例如myinterestingarchive.zip

我想知道的是,是否可以注入一些JavaScript,例如,不用单击链接就可以告诉我文件名myinterestingarchive.zip,因为我想将文件名记录在程序日志中,并且它不在源代码或OuterHTML中,只是那个php网址。

1 个答案:

答案 0 :(得分:1)

如果它支持仅下载http标头的HEAD请求,则可以

import requests

......
# set the request with selenium cookies
cookies = {c['name']: c['value'] for c in driver.get_cookies()}
response = requests.head('http://....../zip.php?zipid=103', cookies=cookies )
print(response.headers['Content-Disposition'])
# attachment; filename=zip/myinterestingarchive.zip

是的,您可以使用注入的JavaScript进行此操作,但是使用requests

则更简单