如何只下载新文件?

2024-05-18 15:33:14 发布

您现在位置:Python中文网/ 问答频道 /正文

所以,我有这个代码可以帮助我下载URL中的所有文件,但是每天都有一个新文件,我如何避免下载URL中的所有文件

for link in soup.select("a[href$='v2.pdf']"):
    filename = os.path.join(folder_location,link['href'].split('/')[-1])
    with open(filename, 'wb') as f:
        f.write(requests.get(urljoin(url,link['href'])).content)

1条回答
网友
1楼 · 发布于 2024-05-18 15:33:14

从这个问题How do I list all files of a directory?您可以使用此代码列出所有当前文件和目录

from os import listdir
from os.path import isfile, join
mypath = './'
files = [f for f in listdir(mypath) if isfile(join(mypath, f))]

在列表中获得每个文件后,您可以在下载每个文件时检查每个文件

for link in soup.select("a[href$='v2.pdf']"):
    filename = os.path.join(folder_location,link['href'].split('/')[-1])
    if (not filename in files):
        with open(filename, 'wb') as f:
            f.write(requests.get(urljoin(url,link['href'])).content)

相关问题 更多 >

    热门问题