python实现简单的百度云自动下载


最近女同让我帮助从百度云下载200个文件,给了我连接和提取码,这种重复的工作不适合人做写了一个简单的爬虫

#coding=utf-8
'''
自动填写提取码下载百度云资源
方法:
for
  读取文件中的连接和提取码
1 打开网页(link)
2 输入提取码
3 下载
'''
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time

driver = webdriver.Chrome()
f = open("baidulink.txt",encoding="utf-8")  
l = open("log.txt","w")             
lines = f.readlines()                
for line in lines: 
    
    if line != '\n':
        if len(line) > 10:
            print (line)  
            list = line.split(" ")
            print (list)
            link = list[2]
            link = link.split("")[1]
            link = link.strip()
            print (link)
            num = list[3].split("")[1]
            num = num.strip()
            print (num)
            driver.get(link)
            elem = driver.find_element_by_id("eoX9ze") 
            elem.send_keys(num)
            elem.send_keys(Keys.RETURN)
            time.sleep(1)
            sreach_window = driver.current_window_handle  
            driver.find_element_by_xpath("//*[@id='layoutMain']/div[1]/div[1]/div/div[2]/div/div/div[2]/a[2]").click()
            '''
            写日志,便于检查下载丢失的文件
            '''
            l.writelines(line)
            l.write('\n')
    line = f.readline() 
    time.sleep(3)
f.close() 

我把连接存在 baidulink.txt中,文件是逐行读取,提取出连接和提取码

使用selenium模拟浏览器,必须保证你的浏览器是Google Chrome,并装了chromedriver,相关内容自行百度

注意一下几点:

1elem = driver.find_element_by_id("eoX9ze")

这个id好是会变的,如果变了按F12查看

2sreach_window = driver.current_window_handle

页面跳转后,需要把driver定位到当前页面

3 driver.find_element_by_xpath("//*[@id='layoutMain']/div[1]/div[1]/div/div[2]/div/div/div[2]/a[2]").click()

这里使用xpath(还有id name selector等,选择适合的),可以使用选择那段代码然后复制xpath

以上功能十分简单,能够节省很多时间。如果频繁下载,会遇到输入验证码的时候,我选择等待,还有其他方法(可以使用代理等)

优质内容筛选与推荐>>
1、程序猿如何应对工作中的烦恼
2、python 打包与部署
3、最大子段和
4、eclipse保存时自动格式化代码和优化导包
5、关于样式兼容性控制问题


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号