技术文章 · 5696 阅读
TED100篇精选演讲稿下载
- 网上资源很难找,电子版本少,没有打包下载的,电子版的网上有售卖的,没有去购买,想来应该不贵。先感谢下面这个网站,至少提供了资源下载, 别的不是付费就是要弄一堆操作。
- 有86篇文章,但是实际pdf文档只有80个, 视频有91,有重复的视频,下载地址都是对应的百度云的地址,文章末尾直接提供下载地址,方便大家下载学习,节约查找资源的时间。
- 一个一个下载太费劲了,查看源码, 通过vscode正则表达式提取下载链接和名称,就有这个名称和下载地址的对应表格
- 文件太多了一个下载太费劲了,此处用chatgpt写了一个段python代码实现自动加载点击添加到自己的网盘中,防止别人取消共享,想看就看不了
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options
import time
# 设置Chrome浏览器驱动路径
chrome_driver_path = "C:\Program Files\Google\Chrome\Application\chrome.exe" # 请替换为您的Chrome驱动路径
options = Options()
options.add_argument("--user-data-dir=D:\\Users\\SynologyDrive\\SynologyDrive\\python")
options.binary_location = chrome_driver_path # Chrome 可执行文件路径
# options.add_argument("--disable-gpu") # 可选,禁用 GPU 加速
# 创建一个Chrome浏览器实例
driver = webdriver.Chrome(options=options)
# 需要下载的链接列表
url_list = [
"https://pan.baidu.com/s/1-Sb6JUnKFS0MZauBvLfmpQ?pwd=94t4",
# 添加更多链接...
]
for url in url_list:
# 打开网页
driver.get(url)
time.sleep(1)
# 根据 class 属性找到复选框并选中它
checkbox_element = driver.find_element(By.CLASS_NAME, "zbyDdwb")
if not checkbox_element.is_selected():
checkbox_element.click()
# 定位并点击“保存到网盘”按钮
button_element = driver.find_element(By.XPATH, "//span[contains(text(), '保存到网盘')]")
button_element.click()
time.sleep(1)
# 定位并点击“确定”按钮
ok = driver.find_element(By.XPATH, "//span[contains(text(), '确定')]")
ok.click()
# 等待一段时间,确保操作生效
time.sleep(3)
# 关闭浏览器实例
driver.quit()
-
百度网盘没有开vip下载太慢了, 直接用群辉nas慢慢下载了
-
下载好后, pdf文件里面第二页是别人插入的广告,严重影响学习
-
用chatgpt辅助,又写了一段代码,删掉第二页的文件, 比较干净整洁了
import os
import PyPDF2
from PyPDF2 import PdfReader, PdfWriter
def delete_pdf_page(input_path, output_path, page_number):
with open(input_path, 'rb') as input_file, open(output_path, 'wb') as output_file:
pdf_reader = PyPDF2.PdfReader(input_file)
pdf_writer = PyPDF2.PdfWriter()
for page_index in range(len(pdf_reader.pages)):
if page_index + 1 != page_number: # Exclude the specified page number
pdf_writer.add_page(pdf_reader.pages[page_index])
pdf_writer.write(output_file)
def process_pdf_files(input_folder, output_folder,result):
for root, dirs, files in os.walk(input_folder):
for filename in files:
if filename.endswith('.pdf'):
pdf_path = os.path.join(root, filename)
result_path = os.path.join(result, filename)
print(f"Processed: {pdf_path}")
print(f"Processed: {result_path}")
delete_pdf_page(pdf_path, result_path, 2)
input_folder = 'D:\\downloads\\ted1\\ted1'
result = 'D:\\downloads\\ted1\\result'
process_pdf_files(input_folder,output_folder,result)
百度云盘: https://pan.baidu.com/s/1UAdXRHufgIJJ4urgu1paCQ?pwd=y54p 提取码: y54p