python 爬虫爬取阿婆主的全部视频详情

python 爬虫爬取阿婆主的全部视频详情

很多时候,我们在B站上喜欢一个阿婆主,我们想要把他(她)发出的所有的视频链接都获取下来时候,这时候就会很麻烦,毕竟如果视频只要一多,就会很麻烦了,很耗时间了。

这时候,使用爬虫进行爬取就是一个非常好的操作了。

下面就来介绍一下吧。
以B站上面一个我比较喜欢的电影视频阿婆主(bili_51592201250)作为例子吧。

1、首先打开B站,在搜索框中输入对应需要搜索的内容(bili_51592201250),之后点击搜索;

2、这时候能够看到如下图所示:
在这里插入图片描述

3、这个页面就是我们需要进行爬取并且处理的页面,废话不多说,直接分析页面,上代码;

4、直接从搜索结果可以看到这个阿婆主发布的视频有多少个页面,如下图所示(4页),这个页码可以选择使用代码进行获取,但是总的来说直接从页面中获取简单;
在这里插入图片描述
5、分析该页面对应的url链接,可以得知如下:
第一个页面url= https://search.bilibili.com/all?keyword=bili_51592201250&page=1
第二个页面url= https://search.bilibili.com/all?keyword=bili_51592201250&page=2
以此类推(在发起请求时候可以使用一个小循环进行逐个爬取)

6、发起请求前的准备

import requests,parsel,re
from fake_useragent import UserAgent

ua = UserAgent()
headers = {
   "User-Agent":ua.random}     # 设置请求头

7、发起请求

try:
    res = requests.get(url,headers=headers)         # 如果遇到反爬技术,可以考虑添加代理proxies={"https":"124.90.51.71:8888"}
    if res.status_code == 200:
        html = parsel.Selector(res.text)
        urls = html.xpath('//ul[@class="video-list clearfix"]/li[@class="video-item matrix"]/a/@href').extract()  # 每个视频对应的url链接
        titles = html.xpath('//ul[@class="video-list clearfix"]/li[@class="video-item matrix"]/a/@title').extract()   # 每个视频对应的标题
        times = html.xpath('//ul[@class="video-list clearfix"]/li[@class="video-item matrix"]/a/div/span[1]/text()').extract()    # 每个视频对应的时间长度
        plays = html.xpath('//span[@title="观看"]/text()').extract()  # 每个视频对应的播放量
  
except Exception as e:
    # 如果上面的请求出现问题,那么一般就是反爬机制的作用,可以考虑在这里面添加代理进行爬取
    # 或者也可以寻找其他的接口,获取up主的详情信息,记得B站有提供一个接口的
    print("Fail:",e)
    pass

代码量并不多,直接就可以获取到了对应的阿婆主发的所有的视频链接以及视频对应的其他一些信息,是不是非常的简单,快去尝试一下吧。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/115145.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • WES7下载_影音先锋下载

    WES7下载_影音先锋下载WES7(WindowsEmbeddedStandard7)是微软在2010年5月13日发布的基于X86平台,Windows7组件化的嵌入式操作系统。WES7除了具有Windows7最新的功能外,还具

    2022年8月1日
    5
  • continue和break的区别与用法「建议收藏」

    continue和break的区别与用法「建议收藏」一般而言,程序进入循环后在下一次循环测试之间会执行完循环体的所以语句。continue和break语句可以根据循环体中测试结果来忽略一部分循环内容,甚至结束循环。continue语句三种循环都可以使用continue语句。执行到该语句时,会跳过本次迭代(即循环)的剩余部分,并开始下一轮迭代。如果continue语句在嵌套循环内,则只会影响包含该语句的内层循环。语法C语言中continue语句的语法:continue;流程图实例#inclu……

    2022年9月4日
    2
  • mt4下载_mt4电脑下载

    mt4下载_mt4电脑下载目前,mt4软件已其特有的优势吸引了众多投资者,成为了这些年比较受欢迎的外汇交易平台。对于经常用手机进行交易的人员来说,就需要下载安卓版或者苹果版。那么分别以2个版为例,讲解一下如何下载。下面介绍第一方式:从网上下载,这个是通用方法,各个版本都可以下,例如:mt4download。cnMT4移动端优势特别多,随时随地使用,并且上面的一些功能也是其他软件没法比的。第二种方式:用googleplay下载安卓版。通过googleplay打开和浏览手机。搜索mt4软件,点击管理系统安装按钮,同意

    2022年8月15日
    3
  • 【图解算法面试】记一次面试:说说游戏中的敏感词过滤是如何实现的?

    【图解算法面试】记一次面试:说说游戏中的敏感词过滤是如何实现的?版权声明:本文为苦逼的码农原创。未经同意禁止任何形式转载,特别是那些复制粘贴到别的平台的,否则,必定追究。欢迎大家多多转发,谢谢。小秋今天去面试了,面试官问了一个与敏感词过滤算法相关的问题,然而小秋对敏感词过滤算法一点也没听说过。于是,有了下下事情的发生…面试官开怼面试官:玩过王者荣耀吧?了解过敏感词过滤吗?,例如在游戏里,如果我们发送“你在干嘛?麻痹演员啊你?”,由于“麻痹”是一个敏感词,…

    2022年5月1日
    52
  • git push到远程指定分支_gitcheckout远程分支

    git push到远程指定分支_gitcheckout远程分支一、pull操作1、将远程指定分支拉取到本地指定分支上:gitpull<远程仓库名><远程分支名>:<本地分支名>2、将远程指定分支拉取到本地当前分支上:gitpull<远程仓库名><远程分支名>3、将与本地当前分支同名的远程分支拉取到本地当前分支上gitpull<远程仓库名&…

    2022年8月22日
    7
  • mkv格式文件不能播放和字幕问题_mkvplayer手机版

    mkv格式文件不能播放和字幕问题_mkvplayer手机版从byrbt上拖了黑衣人I、II来看,发现所有的播放器都不能正常显示mkv包中自带的字幕。理所当然怀疑是字幕编码的问题,但是查设置是对的(GB2312)。但此方法无效。从网络上找来字幕文件(srt)是可以正常显示的,所以编码设置应该没有问题。mkv其实是把音频、视频、字幕等封存成一个文件的形式。此处可以播放独立字幕,但是不能显示mkv内部的外挂字幕,应该是所含字幕本身的问题。于是在r…

    2022年10月26日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号