千家信息网

Python怎么爬取B站排行榜视频播放量和视频评论量等数据

发表于:2024-11-24 作者:千家信息网编辑
千家信息网最后更新 2024年11月24日,本篇内容主要讲解"Python怎么爬取B站排行榜视频播放量和视频评论量等数据",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Python怎么爬取B站排行榜视
千家信息网最后更新 2024年11月24日Python怎么爬取B站排行榜视频播放量和视频评论量等数据

本篇内容主要讲解"Python怎么爬取B站排行榜视频播放量和视频评论量等数据",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Python怎么爬取B站排行榜视频播放量和视频评论量等数据"吧!

项目背景

小Q发现小P每天在B站的时间特别长,他想和小P深入地交流一下B站,可小Q前段时间学业压力很大的,一直没看B站,他想知道现在B站流行什么,那你能帮帮他吗?

项目目标

实现爬取当前B站排行榜的内容(爬取任一榜单即可),要求包括视频排名视频BV号,视频封面,视频播放量,视频评论量, up主姓名

目标网页分析

获取数据内容

  • 标题

  • 播放量

  • 弹幕量

  • 作者

  • 综合得分

  • 详情页地址


开发者工具一看,好家伙,就这?


当看到这样的情况,是真的不用分析什么了,直接就可以从头到尾开始写代码了

直接就是爬虫三部曲走起了。

1、模拟浏览器请求网站获得网页数据;
2、解析网页数据,提取想要的内容;
3、保存数据

完整代码

import requestsimport parselimport csvf = open('B站排行榜数据.csv', mode='a', encoding='utf-8-sig', newline='')csv_writer = csv.DictWriter(f, fieldnames=['标题', '播放量', '弹幕量', '作者', '综合得分', '视频地址'])csv_writer.writeheader()url = 'https://www.bilibili.com/v/popular/rank/all?spm_id_from=333.851.b_7072696d61727950616765546162.3'headers = {    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36'}response = requests.get(url=url, headers=headers)selector = parsel.Selector(response.text)lis = selector.css('.rank-list li')dit = {}for li in lis:    title = li.css('.info a::text').get()    # 标题    bf_info = li.css('div.content > div.info > div.detail > span:nth-child(1)::text').get().strip()     # 播放量    dm_info = li.css('div.content > div.info > div.detail > span:nth-child(2)::text').get().strip()     # 弹幕量    bq_info = li.css('div.content > div.info > div.detail > a > span::text').get().strip()      # 作者    score = li.css('.pts div::text').get()      # 综合得分    page_url = li.css('.img a::attr(href)').get()  # 视频地址    dit = {        '标题': title,        '播放量': bf_info,        '弹幕量': dm_info,        '作者': bq_info,        '综合得分': score,        '视频地址': page_url,    }    csv_writer.writerow(dit)    print(dit)

到此,相信大家对"Python怎么爬取B站排行榜视频播放量和视频评论量等数据"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

0