Python爬虫教你爬取视频信息

大家好,我是拉斯,今天分享一个爬取某音视频的一个小案例,大家一起学习
在这里插入图片描述

目录

  • 前言
  • 基本环境配置
  • 爬取目标视频
    • 获取视频链接
      • 1.查看网页源代码
      • 2.抓包工具捕捉
    • 下载视频(以mp4格式进行保存)
    • 获取其他信息并打印(作者名,作品名,获赞数......)
      • 示例(获取作者名)
      • 代码
      • 成果
      • 完结啦

前言

前面已经发布了爬取4k高清图片的示例,大家可以去参考学习;本次使用selenium和request技术,获取所想爬取的数据。
原视频 作者名 作品名 获赞数 评论数 收藏数 转发数

基本环境配置

  • 版本:Python3
  • 系统:Windows
  • 相关模块:selenium,time,requests
  • 开发工具:Pycharm
  • 爬取目标视频

    获取视频链接

    1.查看网页源代码

    一如既往搜索video标签,发现没有;再搜索video,发现也没有。这时候换思路,用开发者工具.
    在这里插入图片描述
    在这里插入图片描述

    2.抓包工具捕捉

    注:对不起大家,下面这张图三个链接都是可以到原视频的,因此都可以作为第一段代码的url来使用!!!
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/3df3b5982417448da390306bee24eebb.png

    下载视频(以mp4格式进行保存)

    既然有了视频的链接,就可以直接发起请求进行视频的下载,以mp4格式进行持久化存储

    代码:(requests技术进行视频下载)

    import requestsurl="url1" #特别注意:此处url1值为上面图片三个链接中任意一个,会变化所以不写死,大家得到后自行复制到此处
    headers={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36 Edg/109.0.1518.70"
    }
    resp=requests.get(url=url,headers=headers)
    with open("dy1.mp4","wb") as fp:fp.write(resp.content)
    print("下载完成")
    

    成果:
    在这里插入图片描述

    获取其他信息并打印(作者名,作品名,获赞数…)

    使用selenium技术进行元素定位,复制xpath,即可使用find_element_by_xpath方法进行内容获取,后面每一个都是这样获取,下面以作者名为例子

    示例(获取作者名)

    抓包工具进行作者名定位,最后右击元素复制对应xpath.
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/3fb4c3b99b224e42af9c5b85044970ea.png

    复制xpath:
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/e021c9aa19d94ab089e0c4d2dfec0739.png

    代码

    from selenium import webdriver
    import time
    from selenium.webdriver.common.keys import Keys
    url="url2" #url2值在评论区获得,因为写上审核不给过
    driver=webdriver.Chrome()
    driver.get(url)
    time.sleep(2)
    writer_name=driver.find_element_by_xpath('//*[@id="video-info-wrap"]/div[1]/div[1]/div[1]/span/span/span/span/span/span/span').text #作者名
    work_name=driver.find_element_by_xpath('//*[@id="video-info-wrap"]/div[1]/div[2]/div/div/span/span/span[1]/span/span/span').text #作品名
    hz_count=driver.find_element_by_xpath('//*[@id="douyin-right-container"]/div[3]/div[4]/div[2]/div[1]/div/div/div[1]/div[2]/div[2]/div/div[2]').text #获赞数量
    comment_count=driver.find_element_by_xpath('//*[@id="douyin-right-container"]/div[3]/div[4]/div[2]/div[1]/div/div/div[1]/div[2]/div[3]/div/div[2]').text #评论数量
    save_count=driver.find_element_by_xpath('//*[@id="douyin-right-container"]/div[3]/div[4]/div[2]/div[1]/div/div/div[1]/div[2]/div[4]/div/div[2]').text #收藏数量
    send_count=driver.find_element_by_xpath('//*[@id="douyin-right-container"]/div[3]/div[4]/div[2]/div[1]/div/div/div[1]/div[2]/div[5]/div[1]/div/div[2]').text #转发数量print("作者名:",writer_name)
    print("作品名:",work_name)
    print("点赞数量:",hz_count)
    print("评论数量:",comment_count)
    print("收藏数量:",save_count)
    print("转发数量:",send_count)
    

    成果

    在这里插入图片描述

    完结啦

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/44020.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

开放原子开源基金会发布《全球开源发展态势洞察》2022年第二期 | 总第二期

当前,开源驱动创新的能力日益显著,已成为经济社会新变革的赋能者。开源通过汇聚创新资源、构建信任环境,促进知识、智慧、技术、成果等的共享,加速创新要素的高效流动,促进全球技术创新成果的落地,已经成为…

chatgpt赋能python:Python加R:让数据科学更加高效

Python加R:让数据科学更加高效 在过去的几年里,Python和R成为数据科学领域中最受欢迎的编程语言。它们提供了丰富的库和工具,帮助从事数据分析和机器学习的人们更加高效地完成任务。然而,Python和R都有其各自的优缺点。 Python的…

微软提出MathPrompter,GPT3的数学推理水平直接干到人类水平

编|LRS 源|新智元 ChatGPT的文科脑有救了! 大型语言模型最为人诟病的缺点,除了一本正经地胡言乱语以外,估计就是「不会算数」了。比如一个需要多步推理的复杂数学问题,语言模型通常都无法给出正确答案&…

目标检测评价指标

1、检测精度指标 一、IoU交并比 IoU(交并比)1、IOU的全称为交并比(Intersection over Union),是目标检测中使用的一个概念,IoU计算的是“预测的边框”和“真实的边框”的交叠率,即它们的交集和并…

数据结构03:栈、队列和数组

前言 参考用书:王道考研《2024年 数据结构考研复习指导》 参考用书配套视频:3.1.1_栈的基本概念_哔哩哔哩_bilibili 特别感谢:ChatGPT3.5老师,检查其它同学的作业是从代码里找BUG,检查我的作业是恰恰是相反的...&am…

chatgpt赋能python:Python怎么算数的总和

Python怎么算数的总和 Python是一种广泛使用的解释型编程语言,它可以用于各种应用程序的编写,包括数据分析、Web应用程序、机器学习等等。而在编写代码时,最基础的一步,就是算数计算。本文将介绍如何使用Python实现算数计算的总和…

GitHub和Git使用教程

转载自http://blog.csdn.net/javaandroid730/article/details/53522872 GitHub和Git入门 考虑到大家以前可能对版本控制工具和Linux命令行工具都不了解,我写了一个简单的博客来让大家学会入门使用方法。 GitHub的简单使用 第一步 创建GitHub账号 1. 打开GitHub官网。…

CSDN 个性化推荐的数据治理

目录 1. 背景2. 数据治理2.1 从内容层面提升数据质量2.2 从用户层面提升数据质量2.3 增加特定数据的曝光2.4 保证数据的正确性与实效性 3. 总结 相关阅读 CSDN 个性化推荐系统的设计和演进如何支持研发对CSDN个性化推荐系统重构 1. 背景 CSDN 的个性化推荐流在主站中是一个很…

解决多御浏览器问题的5大干货,看这一篇就够了

浏览器是我们频繁使用的软件之一,在使用浏览器的过程中,我们总会遇到各种各样的问题。小编这就为大家总结了一篇多御浏览器遇到问题的解决干货,这篇文章可以为大家解决多数问题,下面小编就来简单的说一说。 1、怎么对多御浏览器设…

微软 Authenticator更换登录设备

微软 Authenticator更换登录设备 要把微软 Authenticator换到其它手机,网上查到需要备份-恢复等,但是操作时发现需要Google play服务,但是安装后仍提示未安装,后发现用如下方式可进行更换。 1、登录该网址 https://mysignins.micr…

Microsoft365账号登录安全保护:使用microsoft authenticator应用验证

国际版Microsoft365在web端登录后显示组织需要更多信息,来保护账号安全。 点击下一步 使用Microsoft authenticator进行验证,在手机中下载authenticator客户端 此时可以选择添加工作账户-验证 若无法添加工作账户 选择“我想使用其他身份验证器应用”…

使用微软DNS服务器解决Hotmail、微软账户登录页面无法访问的问题

近日,在重装Windows 10系统之后,发现Edge浏览器无法登录微软账号做数据同步,具体表现为登录页面无法打开。此前,通过浏览器访问hotmail等页面的时候,也经常发生页面无法打开或者打开及其缓慢的情况,只是这次…

matlab快速解方程,matlab如何解方程 matlab解方程 matlab如何解方程

matlab解方程应该怎么解呢?在平常的学习当中,利用matlab解方程,绝对不是一门轻易掌握的学科。我们应该如何利用matlab解方程呢?下面相关方法分享给大家。 【matlab解方程】 1、先举一例,解方程"x^2100*x990" 在matlab ”Command …

matlab: 解一元多次方程与复杂的一元多次方程

1、解 syms x eqx^22*x1; ssolve(eq,x)结果: s -1-1 这里使用到syms x,意思是定义一个变量 x, 之后可以使用这个变量构造表达式。 solve(eq,x)是将x作为求解变量,求解eq0的结果。 2、比如需要求变量t, 已知k3, p6; 中间及经过 , , …

MMA-mathematica数值求解非线性偏微分方程组

参考:mathematica.pdf 参考:MATHEMATICA微分方程.pdf 数学微分方程,第三版,有两个目的。 首先,我们介绍和讨论在典型的本科和研究生课程中所涵盖的主题,包括拉普拉斯变换、傅立叶级数、特征值问题和边值问题…

MATLAB怎么解方程解,怎么用Matlab解方程?

工具/材料 matlab 2016a 打开matlab,首先定义变量x: syms x; matlab中solve函数的格式是solve(f(x), x),求解的是f(x) 0的解。 第一个例子,求解最常见的一元二次方程x^2-3*x10: solve(x^2-3*x1,x),解出的结果用精确的…

MATLAB用solve求解普通二元高次方程

MATLAB用solve求解普通二元高次方程 先说问题: 有这两个式子,其中除了u和λ,其他都是已知参数。所以,不必恐慌,看着很复杂,但是这个条件一加,其实就是很简单的二元高次方程组,把2式…

常微分方程的解法 (三): 龙格—库塔(Runge—Kutta)方法 、线性多步法

常微分方程的解法求解系列博文: 常微分方程的解法 (一): 常微分方程的离散化 :差商近似导数、数值积分方法、Taylor 多项式近似 常微分方程的解法 (二): 欧拉(Euler)方法 常微分方程的解法 (三): 龙格—库塔(Runge—Kutta&…

用ode45解微分方程遇到的实际问题

最近在用ode45解微分方程数值解,试图复现论文中的图。一般来说说微分方程(组)只要按照响应的条件去撰写好对应的回调函数即可,基本没什么难度,但对于本文遇到的的这个问题,可能还需要一些技巧去实现解法&am…

MATLAB-常微分方程求解

MATLAB中可以用来求解常微分方程(组)的函数有ode23、 ode23s、 ode23t、 ode23tb 、ode45、ode15s和odel13等,见下表。它们的具体调用方法类似,为了方便后面的描述, 在后面的介绍中将使用solver统一代替它们。 函数的具体调用方法如下。 [T,Y…