首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >下载pdf文件时重命名

下载pdf文件时重命名
EN

Stack Overflow用户
提问于 2020-04-25 09:25:58
回答 1查看 82关注 0票数 0

我正在从多个网页链接下载pdf文件(每个链接一个pdf ),并想用一个值范围重命名每个pdf文件,以便它们可以被唯一识别。我使用下面的代码,但是当下载pdf文件时,所有的文件都被称为multi-page,因此只有一个文件保留在文件夹中。我希望pdf文件名从1开始,然后为每个文件添加1 (+1),即2,3,4,5等等)。

代码语言:javascript
运行
复制
import os
import time
import requests
from urllib.parse import urljoin
from bs4 import BeautifulSoup

url = ["http://example1.com",
       "http://example2.com",
      "http://example3.com",
      "http://example4.com"]

folder_location = r'K:/example'

for i in url:
    time.sleep(10)
    response = requests.get(i)
    soup= BeautifulSoup(response.text, "lxml")
    for link in soup.select("[href$='.pdf']"):
        filename = os.path.join(folder_location,link['href'].split('/')[-1])
        with open(filename, 'wb') as f:
            f.write(requests.get(urljoin(i,link['href'])).content)
EN

回答 1

Stack Overflow用户

发布于 2020-04-25 09:52:45

我建议把这行改一下:

代码语言:javascript
运行
复制
filename = os.path.join(folder_location,link['href'].split('/')[-1])

至:

代码语言:javascript
运行
复制
filename = os.path.join(folder_location,"{}_{}".format(i, link['href'].split(os.sep)[-1]))

注意:变量i应该为每个pdf提供不同的名称。我还将/更改为独立于操作系统的os.sep

希望能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61419872

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档