首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

爬虫案例2-爬取视频的三种方式之一:selenium篇(2)

  • 25-02-22 00:21
  • 2707
  • 8180
blog.csdn.net

目录

  • 前言
  • 导航
  • selenium简介
  • 实战案例
  • 共勉
  • 博客

前言

继使用requests库爬取好看视频的文章后,本文分享使用python第三方库selenium库接着来爬取视频网站,后续也会接着分享使用第三方库DrissionPage爬取视频。

导航

  • 爬虫案例1-爬取图片的三种方式之一:requests篇(1)
  • 爬虫案例1-爬取图片的三种方式之一:selenium篇(2)
  • 爬虫案例1-爬取图片的三种方式之一:DrissionPage篇(3)
  • 爬虫案例2-爬取视频的三种方式之一:requests篇(1)
  • 爬虫案例2-爬取视频的三种方式之一:selenium篇(2)
  • 爬虫案例2-爬取视频的三种方式之一:DrissionPage篇(3)

selenium简介

selenium是一个用于web应用测试的工具集,它可以直接运行在浏览器中,就像真正的用户在操作一样。它主要应用在自动化测试,web爬虫和自动化任务中。selenium提供了很多编程语言的接口,如java,python,c#等。这让开发者可以自己编写脚本来自动化web应用的测试。

实战案例

话不多说 ,直接上源码

from selenium import webdriver   # 浏览器驱动
from selenium.webdriver.common.by import By  # 用来定位web页面上的元素
import time             # 时间函数
import os               # 文件管理模块
import requests        # 数据请求模块


if not os.path.exists('./videos1'):  # 创建文件夹
    os.mkdir('./videos1')
def video(data):     # 定义请求每个详细视频的函数
    for url in data:   # 遍历每个详细视频的地址
        driver=webdriver.Chrome()   # 初始化浏览器实例
        driver.get(url)               # 打开url页面
        src=driver.find_element(by=By.CLASS_NAME, value='art-video')  # 获取每个详细视频的详细地址
        src=src.get_attribute('src')
        name=driver.find_element(by=By.CLASS_NAME, value='videoinfo-title')  # 获取每个详细视频的标题
        name=name.text
        video_detail=requests.get(src).content     # 对每个详细视频进行请求
        with open('./videos1/'+name+'.mp4','wb') as f:  # 存储视频
            f.write(video_detail)
        print(name,src)
        driver.quit()        # 关闭浏览器
driver=webdriver.Chrome()     # 初始化浏览器实例
driver.get("https://haokan.baidu.com/")  # 打开网址
for i in range(1,6):
    driver.execute_script("document.documentElement.scrollTop=2000")  # 页面下滑
    time.sleep(1)
time.sleep(2)
data_video=driver.find_elements(by=By.CLASS_NAME,value='videoItem_videoitem__Z_x08') # 对视频信息进行定位
data=[]        # 定义空列表,用来存储每个时评的地址
for a in data_video:  # 
    href=a.get_attribute("href")  # 获取视频地址
    data.append(href)
print(data)
time.sleep(2)
driver.quit()   # 关闭浏览器
video(data)   # 调用video()函数
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37

共勉

能力决定下限,机会决定上限

博客

  • 本人是一个渗透爱好者,不时会在微信公众号(laity的渗透测试之路)更新一些实战渗透的实战案例,感兴趣的同学可以关注一下,大家一起进步。
    • 之前在公众号发布了一个kali破解WiFi的文章,感兴趣的同学可以去看一下,在b站(up主:laity1717)也发布了相应的教学视频。
注:本文转载自blog.csdn.net的小小啊python的文章"https://blog.csdn.net/qq_67581528/article/details/141333880"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top