首页 > 解决方案 > (Selenium) 下载和重命名文件问题

问题描述

selenium用来登录一个页面,并下载一些 tiff 文件,现在我有一个变量downloadurl,它包含我从网站上抓取的一组 url 链接。现在我正在使用以下代码下载文件:

 driver = webdriver.Chrome();
 driver.get(downloadurl)

我确实下载了所有文件但没有名称,例如。图像(1),图像(2)...

现在我的问题是:我想driver.get(downloadurl)按照downloadurl数组顺序一个一个下载文件,下载完文件后立即按照title数组变量重命名,然后下载下一个文件,重命名...

PS我避免使用请求,因为登录过程非常复杂并且需要授权 cookie。

非常感谢您的帮助!

标签: pythonseleniumweb-scrapingbeautifulsouppython-requests

解决方案


详细说明我的评论:

import os
import time

for downloadlink, uniqueName in my_list_of_links_and_names:
    driver = webdriver.Chrome();
    driver.get(downloadurl)
    time.sleep(5) # give it time to download (not sure if this is necessary)
    # the file is now downloaded
    os.rename("img(1).png", uniqueName) # the name is now changed

假设“img(1).png”将被重命名,然后下一次下载将再次以“img(1).png”的形式出现,这将起作用。

最难的部分是制作,my_list_of_links_and_names但如果您将数据放在单独的列表中,zip()请将它们放在一起。您还可以根据某些标准在每个循环中生成自己的标题...


推荐阅读