通过selenium&phantomjs从动态url下载文件
我尝试编写一个通过动态url下载CSV文件的网络爬虫。通过selenium&phantomjs从动态url下载文件
URL是像http://aaa/bbb.mcv/Download?path=xxxx.csv
我把这个链接到我的Chrome浏览器,但我只是立即开始下载页面将不会改变。
我什至不能在开发屏幕上找到任何请求。
我试过的方式来获取文件
把网址中的硒
driver.get(url)
尝试获得通过的请求文件LIB
requests.get(url)
两者都没有工作...
有什么建议吗?
两种方式输出:
我试图让屏幕截图,似乎不改变页面。 (就像在铬)
我尝试打印出我得到的数据,它看起来像html文件。
然后在浏览器中打开它是一个登录页面。
回答:
感谢大家的帮助!
我终于发现问题是...
我通过硒登录网站,我使用请求下载文件。
Selenium没有任何验证信息!
所以我的解决方案是先由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)
回答:
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&phantomjs从动态url下载文件 的全部内容, 来源链接: utcz.com/qa/260544.html