百度网盘链接失效检测

查看 154|回复 10
作者:天下有道   
昨晚我一个朋友发了个游戏链接给我,一个excel文件,有上千个游戏,我随便点击了几个,发现都失效了,为了不做重复工作,
因此今天写了一个python脚本,我搜了一下论坛发现没有人写过这个玩意,如果有相同类似的,请管理员删除我这个帖子
主要功能:使用selenium自动化工具检测百度网盘链接是否失效
[Python] 纯文本查看 复制代码import requests
from selenium import webdriver
from selenium.webdriver.common.by import By
import time
# 该程序适用于检验多个网盘链接的有没有失效
# 设置Edge浏览器驱动程序路径
driver_path = 'D:\Download\edgedriver_win64\msedgedriver.exe'
# 启动Edge浏览器
driver = webdriver.Edge(executable_path=driver_path)
def checklink(linkList:dict):
    for link,code in linkList.items():
        try:
            req=requests.get(link)
            if '百度网盘-链接不存在' in req.text:
                print(f'链接:{link},百度网盘文件不存在或百度链接已失效')
                return False
        except Exception as e:
            print(f'链接:{link},百度网盘链接访问失败:{e}')
            return False
        # 在当前浏览器会话中加载网页
        driver.get(link)
        # start=time.time()
        # 找到提取码输入框
        passwd_input = driver.find_element(By.ID, 'accessCode')
        # 输入提取码
        passwd_input.send_keys(code)
        # end=time.time()
        # print(f'耗时:{(end-start)*1000} 毫秒')
        # 找到提交按钮并点击
        submit_button = driver.find_element(By.ID, 'submitBtn')
        # 模拟点击按钮  
        submit_button.submit()
        # 延时两秒等待网页加载完成
        time.sleep(2)
        # 获取输入提取码后返回的title来判断网盘里面是否存在文件
        result=driver.title
        if '百度网盘 请输入提取码' in result:
            print(f'链接:{link},提取码错误')
            return False
        if '百度网盘-链接不存在' in result:
            print(f'链接:{link},百度网盘文件不存在或百度链接已失效')
            return False
        else:
            print(f'链接:{link},百度网盘文件有效')
            return False
    # 关闭浏览器
    # driver.quit()
if __name__=='__main__':
        checklink({})
PS:
[color=]4.13

[color=]增加提取码错误的判断,有人说直接用requests库可以直接判断,但是我考虑到还有一些网盘链接需要提取码,才能进入分享页面查看是否有没有文件存在,我遇到过需要输入提取码,但是里面的文件是没有的情况

链接, 百度网

2513002960   

这个其实可以用requests做的,selenium太慢了
Pojawa   


天下有道 发表于 2023-4-12 16:58
有一些有提取码的,如果没有提取码,可以直接用requests库来,我原本是用的是requests库,但是考虑到要输 ...

一般来说需要提取码就说明分享是仍然有效的。分享里面没有文件是分享者的问题,一般分享者提前分享链接出来,但是后期删除了里面的文件,或者里面的文件陆陆续续被度娘以某种不可抗力给删掉了,删到最后就是空分享链接了。但是分享者还是可以往分享链接里添加文件的。
99929yf   

谢谢分享
天下有道
OP
  


2513002960 发表于 2023-4-12 16:56
这个其实可以用requests做的,selenium太慢了

有一些有提取码的,如果没有提取码,可以直接用requests库来,我原本是用的是requests库,但是考虑到要输入提取码,点击按钮这些就用这个自动化工具了
sgbyg   

requests比较快
qiaosefennu   

棒,有的时候要测试链接一个一个点太笨了。
t5656   

好,谢谢楼主分享
hyperacg   

非常感谢大佬分享
cyantea   

感谢分享!
您需要登录后才可以回帖 登录 | 立即注册

返回顶部