gpt4 book ai didi

python - 如何以编程方式判断网络服务器上是否存在我要求的文件名?

转载 作者:太空宇宙 更新时间:2023-11-04 08:18:30 24 4
gpt4 key购买 nike

我正在帮助某人从网站上提取一堆(数万个)pdf 文件。我们有文件名的模式,但并非所有文件都存在。我假设要求一个不存在的文件是不礼貌的,尤其是在这种规模下。我正在使用 python,在我对 urllib2 的测试中,我发现如果文件存在,这个片段会给我获取文件

s=urllib.urlretrieve('http://website/directory/filename.pdf','c:\\destination.pdf')

如果该文件不存在,那么我会得到一个文件,该文件具有我指定的名称,但文本来自其 404 页面。现在我可以在完成后处理这个问题(读取文件并删除所有 404 页面),但这对他们的服务器来说似乎不太好,也不是很 pythonic。

我试着查看 urllib 和 urlretrieve 中的各种函数,但没有看到任何告诉我文件是否存在的信息。

最佳答案

您可以查看响应的返回码。现有 PDF 为 200,不存在 PDF 为 404。您可以使用 requests使这更容易的库:

>>> import requests
>>> r = requests.get('http://cdn.sstatic.net/stackoverflow/img/sprites.png')
>>> r.status_code
200
>>> r = requests.get('http://cdn.sstatic.net/stackoverflow/img/sprites.xxx')
>>> r.status_code
404

关于python - 如何以编程方式判断网络服务器上是否存在我要求的文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9999594/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com