通过selenium&phantomjs从动态url下载文件

我尝试编写一个通过动态url下载CSV文件的网络爬虫。通过selenium&phantomjs从动态url下载文件

URL是像http://aaa/bbb.mcv/Download?path=xxxx.csv

我把这个链接到我的Chrome浏览器,但我只是立即开始下载页面将不会改变。

我什至不能在开发屏幕上找到任何请求。

我试过的方式来获取文件

  1. 把网址中的硒

    driver.get(url)

  2. 尝试获得通过的请求文件LIB

    requests.get(url)

两者都没有工作...

有什么建议吗?

两种方式输出:

  1. 我试图让屏幕截图,似乎不改变页面。 (就像在铬)

  2. 我尝试打印出我得到的数据,它看起来像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

回到顶部