python实现简单的百度云自动下载
2021-06-21 14:03
标签:name key 打开网页 print nbsp 连接 百度 sleep 网页 最近女同让我帮助从百度云下载200个文件,给了我连接和提取码,这种重复的工作不适合人做写了一个简单的爬虫 我把连接存在 baidulink.txt中,文件是逐行读取,提取出连接和提取码 使用selenium模拟浏览器,必须保证你的浏览器是Google Chrome,并装了chromedriver,相关内容自行百度 注意一下几点: 1 elem = driver.find_element_by_id("eoX9ze") 这个id好是会变的,如果变了按F12查看 2 sreach_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 以上功能十分简单,能够节省很多时间。如果频繁下载,会遇到输入验证码的时候,我选择等待,还有其他方法(可以使用代理等) python实现简单的百度云自动下载 标签:name key 打开网页 print nbsp 连接 百度 sleep 网页 原文地址:https://www.cnblogs.com/zhxuxu/p/9683464.html#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()