[英]Download file from dynamic url by selenium & phantomjs
我尝试编写一个网络爬虫,该爬虫通过动态网址下载CSV文件。
网址就像http://aaa/bbb.mcv/Download?path = xxxx.csv
我将此网址放到了chrome浏览器中,但我立即开始下载,该页面不会更改。
我什至在开发屏幕上找不到任何请求。
我尝试了获取文件的方法
将网址放入硒中
driver.get(url)
尝试通过请求库获取文件
requests.get(url)
两者都不起作用...
有什么建议吗?
输出两种方式:
我尝试截屏,但似乎没有改变页面。 (就像镀铬一样)
我尝试打印出我得到的数据,好像是html文件。
然后在浏览器中打开它是一个登录页面。
import requests url = '...' save_location = '...' session = requests.session() response = session.get(url) with open(save_location, 'wb') as t: for chunk in response.iter_content(1024): t.write(chunk)
感谢大家的帮助!
我终于发现问题是...
我通过硒登录网站,并使用请求来下载文件。
Selenium没有任何身份验证信息!
因此,我的解决方案是先通过硒获取cookie。
然后将其发送到请求中!
这是我的代码
cookies = driver.get_cookies() #selenium web driver
s = requests.Session()
for cookie in cookies:
s.cookies.set(cookie['name'], cookie['value'])
response = s.get(url)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.