通过 selenium & phantomjs 从动态 url 下载文件
Download file from dynamic url by selenium & phantomjs
我正在尝试编写一个通过动态 url.
下载 CSV 文件的网络爬虫
url就像http://aaa/bbb.mcv/Download?path=xxxx.csv
我把这个 url 放到我的 chrome 浏览器上,但我立即开始下载,页面不会改变。
我什至在开发屏幕上找不到任何请求。
我已经尝试了获取文件的方法
将 url 放入 selenium
driver.get(url)
尝试通过请求库获取文件
requests.get(url)
两个都不行...
有什么建议吗?
两种方式输出:
我尝试获取屏幕截图,但似乎并没有改变页面。 (就像 chrome)
我试着打印出我得到的数据,它看起来像 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 登录网站并使用请求下载文件。
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)
我正在尝试编写一个通过动态 url.
下载 CSV 文件的网络爬虫url就像http://aaa/bbb.mcv/Download?path=xxxx.csv
我把这个 url 放到我的 chrome 浏览器上,但我立即开始下载,页面不会改变。
我什至在开发屏幕上找不到任何请求。
我已经尝试了获取文件的方法
将 url 放入 selenium
driver.get(url)
尝试通过请求库获取文件
requests.get(url)
两个都不行...
有什么建议吗?
两种方式输出:
我尝试获取屏幕截图,但似乎并没有改变页面。 (就像 chrome)
我试着打印出我得到的数据,它看起来像 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 登录网站并使用请求下载文件。
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)