翼度科技»论坛 编程开发 python 查看内容

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

8

主题

8

帖子

24

积分

新手上路

Rank: 1

积分
24
@
目录

前言

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

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

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

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


  • 本人是一个渗透爱好者,不时会在微信公众号(laity的渗透测试之路)更新一些实战渗透的实战案例,感兴趣的同学可以关注一下,大家一起进步。

    • 之前在公众号发布了一个kali破解WiFi的文章,感兴趣的同学可以去看一下,在b站(up主:laity1717)也发布了相应的


来源:https://www.cnblogs.com/laity17/p/18408830
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具