吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2835|回复: 40
收起左侧

[Python 原创] 百度网盘链接失效检测

  [复制链接]
天下有道 发表于 2023-4-12 16:48
本帖最后由 天下有道 于 2023-4-13 16:04 编辑

昨晚我一个朋友发了个游戏链接给我,一个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:4.13 增加提取码错误的判断,有人说直接用requests库可以直接判断,但是我考虑到还有一些网盘链接需要提取码,才能进入分享页面查看是否有没有文件存在,我遇到过需要输入提取码,但是里面的文件是没有的情况

免费评分

参与人数 7吾爱币 +3 热心值 +6 收起 理由
18987440797 + 1 谢谢@Thanks!
wu_yang007 + 1 热心回复!
Imba77 + 1 谢谢@Thanks!
琴似蓝调 + 1 + 1 谢谢@Thanks!
Huibq120 + 1 谢谢@Thanks!
qiaosefennu + 1 + 1 热心回复!
leommm + 1 热心回复!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

2513002960 发表于 2023-4-12 16:56
这个其实可以用requests做的,selenium太慢了
Pojawa 发表于 2023-4-12 19:33
天下有道 发表于 2023-4-12 16:58
有一些有提取码的,如果没有提取码,可以直接用requests库来,我原本是用的是requests库,但是考虑到要输 ...

一般来说需要提取码就说明分享是仍然有效的。分享里面没有文件是分享者的问题,一般分享者提前分享链接出来,但是后期删除了里面的文件,或者里面的文件陆陆续续被度娘以某种不可抗力给删掉了,删到最后就是空分享链接了。但是分享者还是可以往分享链接里添加文件的。
99929yf 发表于 2023-4-12 16:58
 楼主| 天下有道 发表于 2023-4-12 16:58
2513002960 发表于 2023-4-12 16:56
这个其实可以用requests做的,selenium太慢了

有一些有提取码的,如果没有提取码,可以直接用requests库来,我原本是用的是requests库,但是考虑到要输入提取码,点击按钮这些就用这个自动化工具了
sgbyg 发表于 2023-4-12 17:03
本帖最后由 sgbyg 于 2023-4-12 17:05 编辑

requests比较快
qiaosefennu 发表于 2023-4-12 17:21
棒,有的时候要测试链接一个一个点太笨了。
t5656 发表于 2023-4-12 17:23
好,谢谢楼主分享
cyantea 发表于 2023-4-12 17:47
感谢分享!
borohai 发表于 2023-4-12 17:48
感谢分享,虽然现在还不会用。
Huibq120 发表于 2023-4-12 17:54
太棒了,正好需要,感谢楼主分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 00:33

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表