{ "cells": [ { "cell_type": "code", "execution_count": 4, "id": "43804a85", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 第1个视频下载完成\n", " 第2个视频下载完成\n", " 第3个视频下载完成\n", " 第4个视频下载完成\n", " 第5个视频下载完成\n", " 第6个视频下载完成\n", " 第7个视频下载完成\n", " 第8个视频下载完成\n", " 第9个视频下载完成\n", " 第10个视频下载完成\n", "前10个视频下载完成\n" ] } ], "source": [ "import requests\n", "from selenium import webdriver\n", "from selenium.webdriver.chrome.service import Service\n", "from selenium.webdriver.common.by import By\n", "from win32api import Sleep\n", "\n", "chromedriver_path = r\"C:\\Program Files\\Google\\Chrome\\Application\\chromedriver.exe\"\n", "service = Service(chromedriver_path)\n", "driver = webdriver.Chrome(service=service)\n", "\n", "driver.get('https://v.jstv.com/xw360/')\n", "Sleep(2000)\n", "driver.find_element(By.XPATH, \"//*[@id=\\\"J_bodyBd\\\"]/div/div/ul/li[1]/div[1]/a/img\").click()\n", "Sleep(2000)\n", "driver.find_element(By.XPATH, \"//*[@id=\\\"J_bodyBd\\\"]/div/div/ul/li[2]/div[1]/a/img\").click()\n", "Sleep(3000)\n", "driver.find_element(By.XPATH, \"//*[@id=\\\"J_bodyBd\\\"]/div/div/ul/li[3]/div[1]/a/img\").click()\n", "Sleep(3000)\n", "driver.find_element(By.XPATH, \"//*[@id=\\\"J_bodyBd\\\"]/div/div/ul/li[4]/div[1]/a/img\").click()\n", "Sleep(3000)\n", "driver.find_element(By.XPATH, \"//*[@id=\\\"J_bodyBd\\\"]/div/div/ul/li[5]/div[1]/a/img\").click()\n", "Sleep(3000)\n", "driver.find_element(By.XPATH, \"//*[@id=\\\"J_bodyBd\\\"]/div/div/ul/li[6]/div[1]/a/img\").click()\n", "Sleep(3000)\n", "driver.find_element(By.XPATH, \"//*[@id=\\\"J_bodyBd\\\"]/div/div/ul/li[7]/div[1]/a/img\").click()\n", "Sleep(3000)\n", "driver.find_element(By.XPATH, \"//*[@id=\\\"J_bodyBd\\\"]/div/div/ul/li[8]/div[1]/a/img\").click()\n", "Sleep(3000)\n", "driver.find_element(By.XPATH, \"//*[@id=\\\"J_bodyBd\\\"]/div/div/ul/li[9]/div[1]/a/img\").click()\n", "Sleep(3000)\n", "driver.find_element(By.XPATH, \"//*[@id=\\\"J_bodyBd\\\"]/div/div/ul/li[10]/div[1]/a/img\").click()\n", "\n", "Sleep(3000)\n", "windows = driver.window_handles # 获取当前所有页面句柄\n", "for i in range(1, len(windows)):\n", " driver.switch_to.window(windows[i]) # 切换当新页面\n", " Sleep(3000)\n", "\n", " # print(driver.title)\n", "\n", " driver.find_element(By.XPATH, \"//*[@id=\\\"videoxg\\\"]/xg-start\").click()\n", " Sleep(3000)\n", " video_element = driver.find_element(By.TAG_NAME, 'video')\n", " video_url = video_element.get_attribute('src')\n", " # 使用Requests库下载视频\n", " response = requests.get(video_url)\n", "\n", " # 指定视频文件的保存路径\n", " save_path = str(driver.title)+'.mp4'\n", "\n", " # 将视频内容写入文件\n", " with open(save_path, 'wb') as file:\n", " file.write(response.content)\n", " # print(driver.title)\n", " driver.close()\n", " print(f\" 第{i}个视频下载完成\")\n", " driver.switch_to.window(windows[0])\n", " Sleep(3000)\n", "driver.quit()\n", "print(\"前10个视频下载完成\")\n" ] }, { "cell_type": "code", "execution_count": null, "id": "428e60e6", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.11.2" } }, "nbformat": 4, "nbformat_minor": 5 }