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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • javaScript的基本语法结构「建议收藏」

    javaScript的基本语法结构「建议收藏」javaScript的基本语法结构一、javascript程序带的文本二、javascript中的注释三、字面量四、标识符和保留字标识符保留字五:可选的分号一、javascript程序带的文本vascript区分大小写。这就意味着他的关键字,变量,函数名和其他标识符必须始终保持一致的大小写格式二、javascript中的注释//这是单行注释/*这也是注释*///而这是另一个注释/**这是多行注释*每行开头的*字符不是必要的,只是为了美观*/三、字面量字面量(litera

    2022年10月9日
    3
  • Day14 自己定义泛型类的使用

    Day14 自己定义泛型类的使用

    2022年2月6日
    49
  • 人工神经网络基本原理[通俗易懂]

    最近谷歌升级版AlphaGo打败众多国内外围棋高手,那狗又火了一把,再次引起大家的关注。作为一个对技术有追求的人,嗯,是时候好好学习当前最火的人工智能与机器学习的相关技术了。学习一项技术,仅仅了解其技术原理是远远不够的,从技术实践中建立感性认识,才能对技术原理有深入的理解。因此,本文先介绍神经网络基本原理,后面系列文章将详细介绍神经网络的成熟算法及网络结构(比如:BP神经网络、RBF、CNN等)并编程实现之。

    2022年4月16日
    104
  • spring4.1 请求rest接口406问题解决(转换JSON)[通俗易懂]

    前文说明,本来项目使用的是springmvc的模式,然后接口都是使用的是@Controller+@ResponseBody配置json转换的代码是

    2022年4月9日
    85
  • linux网络配置出现E325,打开Vi编辑器出现E325: ATTENTION的解决方法

    linux网络配置出现E325,打开Vi编辑器出现E325: ATTENTION的解决方法当打开Vi编辑器时出现以下的提示时不要着急E325:ATTENTIONFoundaswapfilebythename”/etc/.profile.swp”ownedby:rootdated:WedJul1410:01:102010filename:/etc/profilemodified:YESusername:roothostname:zh…

    2022年5月19日
    49
  • 基于MQTTnet 3.0.12实现MQTT服务器和客户端「建议收藏」

    基于MQTTnet 3.0.12实现MQTT服务器和客户端「建议收藏」基于MQTTnet3.0.12实现MQTT服务器和客户端概述-可看可不看的废话MQTT是啥MQTTnet正文MQTTServer/Broker实现MQTTServer/Broker创建MQTTServer/Broker发布消息MQTTClient实现MQTTClient创建MQTTClient发布消息MQTTClien订阅消息MQTTClien取消订阅消息概述-可看可不看的废话公司基于制造业客户的数据采集需求,在布局自己的数据中台。现在物联网的概念很火,辣条从业7年来一直号称是“自动化

    2022年6月25日
    33

发表回复

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

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