网页flash抓取视频(Python进阶者(一)——一个获取B站视频选集)

优采云 发布时间: 2022-01-20 14:18

  网页flash抓取视频(Python进阶者(一)——一个获取B站视频选集)

  大家好,我是一名高级Python初学者。前言 前几天,雪球哥在Python交流群分享了一段获取B站精选视频的Python代码。小编觉得挺好看的。整理成一个小的文章,分享给大家学习。

  关于雪秋兄弟,大家应该都很熟悉了。之前写过Python实战文章,好评如潮。还没来得及看的小伙伴可以点击这里:

  盘点常用验证码标记识别项目在线部署的三种方式——VUE前端、Java后端和Python后端部署

  Python项目实战篇-常用验证码标注&识别(CNN神经网络模型训练/测试/部署)

  Python项目实战篇-常用验证码标注&识别(前端+后端实现高效数据标注)

  Python项目实战篇-常用验证码标注&识别(数据采集/preprocessing/字符图切割)

  Python项目实战篇-常用验证码标注与识别(需求分析与实现思路)

  之前也给大家分享过B站的一些文章。有兴趣的可以看看这篇文章,Python网络爬虫+数据分析:教你如何使用Python网络爬虫获取B站10万UP主数据和熊猫库有趣的数据分析。

  

  一、背景介绍

  说到B站,第一印象就是视频。相信很多朋友和我一样,都在想着用网络爬虫技术来获取B站的视频,但是B站的视频其实并不是那么容易获取的。关于B站的视频采集,之前通过you-get库介绍过,感兴趣的朋友可以看看这篇文章:You-Get好强大啊!.

  言归正传,经常在B站学习的朋友可能经常会遇到一些连载几十个甚至上百个视频的博主,尤其是编程语言、课程、工具使用等连续教程。出现选集系列,如下图所示。

  

  当然,这些选集的领域也可以用肉眼看到。如果只是通过程序来实现,可能并没有想象的那么简单。那么这个文章的目标就是通过Python网络爬虫技术获取基于selenium库的视频精选。

  二、具体实现

  这个文章我们使用的库是selenium,是一个模拟用户登录的库。虽然感觉慢,但是在网络爬虫领域,这个库还是用的很多。使用它来模拟登录和获取数据已经过测试。下面是实现视频文集采集的全部代码,欢迎大家自己动手实践。

  # 编码:utf-8from selenium import webdriverfrom selenium. 网络驱动程序。常见的。通过导入 Byfrom 硒。网络驱动程序。支持从 selenium 导入 expected_conditions 作为 EC。网络驱动程序。支持。等待导入 WebDriverWaitclass 项目:page_num = "" part = "" duration = "" def __init__(self, page_num, part, duration):self. page_num = page_numself。部分=自己。持续时间 = 持续时间 def get_second(self): str_list = self. 期间。split(":")sum = 0for i, item in enumerate(str_list):sum += pow(60, len(str_list) - i - 1) * int(item)return sumdef get_bilili_page_items(url): options = 网络驱动程序。

  ChromeOptions() 选项。add_argument('--headless') # 设置无头选项。add_experimental_option('excludeSwitches', ['enable-automation']) # 选项。add_experimental_option("prefs", {"profile.managed_default_content_settings.images": 2, #"profile.managed_default_content_settings.flash": 0}) 浏览器 = webdriver。Chrome(options=options) # browser = webdriver. PhantomJS() print("正在打开网页...") 浏览器。get(url) print("等待网页响应...") # 需要等到页面加载完毕 wait = WebDriverWait(browser, 10) wait.

  直到(EC.visibility_of_element_located((By.XPATH, '//*[@class="list-box"]/li/a'))) print("正在获取网页数据...") list = browser. find_elements_by_xpath('//*[@class="list-box"]/li') # print(list) itemList = [] second_sum = 0 # 2. 遍历每个搜索结果的标题 for t in list:# print ("t text:", t. text) element = t. find_element_by_tag_name('a')# print("a text:", element.text) arr = element. 文本。split('\')print(" ".join(arr))item = Item(arr[0], arr[1], arr[2])second_sum += item. get_second() 项目列表。append(item) print("总数:", len(itemList)) # 浏览器。

  page_source print("总时长/分钟:", round(second_sum / 60, 2)) print("总时长/小时:", round(second_sum / 3600.0, 2)) browser.close () return itemListget_bilili_page_items("./video/BV1Eb411u7Fw")

  这里使用的选择器是xpath,视频示例是B站同济版《高等数学》全教学视频(宋昊老师)的精选,如果要抓取其他视频精选,只需要更改上述代码的最后一个。一行 URL 链接就可以了。

  三、常见问题

  在运行过程中,小伙伴们应该经常会遇到这个问题,如下图所示。

  

  这是由谷歌驱动程序版本问题引起的。只需按照提示下载对应的驱动版本即可。驱动下载链接:

  

  四、总结

  我是 Python 进阶者。本文文章主要介绍B站视频精选内容的获取方法,基于网络爬虫,通过selenium库和xpath选择器,并举例说明常见问题如何处理. 小伙伴们快来练习吧!如果你在学习过程中遇到任何问题,请加我为好友,我会拉你进入Python学习交流群一起讨论学习。

  ","force_purephv":"0","gnid":"965a5880a8920c990","img_data":[{"flag":2,"img":[{"desc":"","height":"772" ,"title":"","url":"","width":"640"},{"desc":"","height":"545","title":"","url" :"","width":"640"},{"desc":"","height":"205","title":"","url":"","width":"640" },{"desc":"","height":"277","title":"","url":"","width":"640"}]}],"original":"0 “,“拍”:"art_src_0,fts0,sts0","powerby":"cache","pub_time":00,"pure":"","rawurl":"","re​​direct":0,"rptid":"aead71f8bcf7f64c", " src":"Python 网络爬虫和数据挖掘","tag":[{"clk":"ktechnology_1:b 站","k":"b 站","u":""}],"title " :"教你如何使用Python网络爬虫获取B站视频精选内容(附源码)教你如何使用Python网络爬虫获取B站视频精选内容(附源码)代码)教你如何使用Python网络爬虫获取B站视频精选内容(附源码)cache","pub_time":00,"pure":"","rawurl":"","re​​direct":0,"rptid":"aead71f8bcf7f64c","src":"Python 网络爬虫和数据挖掘", "tag":[{"clk":"ktechnology_1:b站","k":"b站","u":""}],"title":"教你使用Python网络爬虫获取B站视频精选内容(附源码)教你如何使用Python网络爬虫获取B站视频精选内容(附源码)教你如何使用Python网络爬虫获取B站视频精选内容(附源码)cache","pub_time":00,"pure":"","rawurl":"","re​​direct":0,"rptid":"aead71f8bcf7f64c","src":"Python 网络爬虫和数据挖掘", "tag":[{"clk":"ktechnology_1:b站","k":"b站","u":""}],"title":"教你使用Python网络爬虫获取B站视频精选内容(附源码)教你如何使用Python网络爬虫获取B站视频精选内容(附源码)教你如何使用Python网络爬虫获取B站视频精选内容(附源码)rptid":"aead71f8bcf7f64c","src":"Python网络爬虫和数据挖掘","tag":[{"clk":"ktechnology_1:b站","k":"b站","u": ""}],"title" :"教你如何使用Python网络爬虫获取B站视频精选内容(附源码)教你如何使用Python网络爬虫获取视频内容B站精选(附源码)教你使用Python网络爬虫获取B站视频精选内容(附源码)rptid":"aead71f8bcf7f64c","src":"Python网络爬虫和数据挖掘","tag":[{"clk":"ktechnology_1:b站","k":"b站","u": ""}],"title" :"教你如何使用Python网络爬虫获取B站视频精选内容(附源码)教你如何使用Python网络爬虫获取视频内容B站精选(附源码)教你使用Python网络爬虫获取B站视频精选内容(附源码)title" :"教你如何使用Python网络爬虫获取B站视频精选内容(附源码)教你如何使用Python网络爬虫获取B站视频精选内容(附源码)教你如何使用Python网络爬虫获取B站视频精选内容(附源码)title" :"教你如何使用Python网络爬虫获取B站视频精选内容(附源码)教你如何使用Python网络爬虫获取B站视频精选内容(附源码)教你如何使用Python网络爬虫获取B站视频精选内容(附源码)

  如何获取视频的 URL(地址)?- ______ 使用浏览器的网络嗅探器。如果您看到它后面的视频后缀,它应该是您正在查找的视频的 URL...

  如何获取视频地址?- ______ 1. 打开电影 网站 并播放您喜欢的电影。如果是 Windows MediaPlay 格式的影片,请在影片画面上右击找到“属性”栏:2. 打开“属性”栏,影片地址会出现在“文件”中- “位置”栏...

  如何找到网页播放的视频的url - ______ 视频的url地址很难找到,如果你想下载,可以到这个网站试试。很简单,只要把视频放到网页上粘贴地址就可以了`然后用下面解析的视频地址下载`如果这个网站不能下载,还有一招,下载“微唐FLV视频下载软件”,地址是安装并运行“微唐FLV视频下载器”,复制你想要的视频所在网页的地址,然后点击工具栏上的“新建”,地址会自动将地址添加到“视频网站”选项中(如果没有自动添加,请手动添加),“另存为”,

  如何获取网页上的视频(音频、flash)地址(url)?- ______去这个网站,输入视频网页地址~然后就可以得到视频地址了

  获取视频文件地址的来源(URL)的巧妙方法!- ______ 其实,当你观看在线FLASH和在线视频时,这些文件都存放在IE的临时文件夹中。您可以通过以下方法提取视频文件。打开我的电脑/工具/文件夹选项/查看/取消选中隐藏受保护的操作系统文件,然后选中显示所有文件夹并转到以下地址:C:\Documents and Settings\Administrator\本地设置\Internet 临时文件 转到此地址以查找您需要的视频文件。

  如何获取视频网址______都是SWF格式的FLASH视频,可以下载Flash*敏*感*词*好帮手-Flash Saver安装软件后,可以将需要抓取的网页拖入本软件,即可自动抓取FLASH视频的URL地址,可以下载,也可以复制URL应用到空间日志或者首页

  如何获取视频的网址???______ 下载一个微塘 FLV 并嗅探一下。在这里你可以用迅雷下载它。`

  如何获取已下载或无法在网络上下载的视频的 URL?- ______ 你在网上看到的视频会先缓存到本地。可以通过浏览器工具-Internet选项-浏览历史-设置找到缓存的路径,然后如果在这个文件夹中找到视频获取url,需要查看源码

  电脑中如何获取视频的URL ______ 如果你把视频文件上传到论坛,就会有一个URL

  您通常在网络上看到的视频看起来不错。你能提取URL链接地址吗?具体操作如何?

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线