python爬取b站排行榜_实时爬取B站排行榜并保存为表格——每周一个爬虫小教程系列...

从这周开始,每周来一个爬虫小教程,希望对你们有所帮助,这次的目标是B站排行榜202006130936459265479.png至于爬取什么内容,目前感觉就把序号,名称以及评分爬取下来吧(因为我是边写教程边写代码的)

这次需要用到的知识:Requests模块

Xpath模块(说白了就是Html)

有看我的博客:www.lanol.cn

首先来到这个页面https://www.bilibili.com/ranking/all/0/0/1,目前是全站榜,我们尝试切换到原创榜,就会发现网址栏对应的网址改变了,所以我们只需要修改网址就可以获取想要的榜单(我不确定会不会每天都变,没观察)202006130941238314545.png202006130941378827927.png

然后改变这个投稿类型和日期网址也会改变202006130942215684271.png到这里我们就已经获取到想要爬取的网址了。request中的url也就确定了。url = ‘https://www.bilibili.com/ranking/all/0/0/1’

我们按快捷键Ctrl+U,查看源代码,然后搜索一下排行第一的视频。202006130944476130795.png我们可以发现在源代码里面有,这样的话我们就可以直接用requests模块获取源码,再利用Xpath解析网页了。有关Xpath的时候方法可以看这篇文章Python爬虫:Xpath语法笔记。

然后来开始写代码,第一步永远都不会变的,先导入Requests模块和将网页源码转换为可以Xpath的模块(这两个模块如果没有可以pip一下,博客内也有教程,搜索即可)import requests

import parsel

然后就是做一个请求头(伪装成普通浏览器去访问),一般来说刚开始只加一个user-agent就可以了,如果有反爬机制,再去加。

请求头也就是这一块202006130951559489406.png我们一开始只放一个user-agent进去

202006130951255303101.pnguser-agent:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) ApplewebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36

我们复制下来之后是上面这样的,然后我们要转换成python里面字典的格式。也就是加个引号就行了。'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36'

然后放到Python代码中就是这样子的。headers = {

'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36'

}

这样requests模块中的headers就构造好了

然后就是写上这一句就可以获取到源码了。response = requests.get(url=url, headers=headers).text

这句话的意思就是调用requests模块,然后get请求这个url,最后将获取到的内容取text格式然后赋值给response。

我们来执行看一下,不要忘记输出一下哦。

202006130959194012671.png

这样子我们的页面源码就获取到了,而且里面可以看到我们之前搜索的排行第一的视频:【官方MV】Mojito - 周杰伦。

然后我们回到网站,右键视频标题,点击检查。202006131001489824427.png我们再在源码这右键一下,点击Copy,点击Copy Xpath,这样Xpath就复制下来了,动画演示:原文地址:www.lanol.cn

202006131004523875718.gif//*[@id="app"]/div[1]/div/div[1]/div[2]/div[3]/ul/li[1]/div[2]/div[2]/a

我们将这句Xpath粘贴到浏览器插件里面测试一下。202006131007145950614.png

可以看见我们已经可以选中这句标题了,然后我们再利用HTML知识修改一下这句话,就可以获取到所有标题了。//div[2]/div[2]/a

202006131008294310755.png

我们放到Python里面执行一下。

202006131010485121591.png

发现获取的内容似乎有点多,这里不仅把标题弄出来了,而且还将这句代码弄出来了,我们在后面加一个text()只获取文本内容。

202006131012301186564.png

这样就可以了,我们再来试一下获取分数。一如之前的操作,右键分数,点击检查,再在代码处右键,点击Copy,点击Copy Xpath。//*[@id="app"]/div[1]/div/div[1]/div[2]/div[3]/ul/li[20]/div[2]/div[2]/div[2]/div

202006131013596016100.png

再修改一下这句话,以获取我们想要的全部内容。//div[2]/div[2]/div[2]/div/text()

202006131014439994707.png

然后放到Python里面执行一下。

202006131015509908919.png

成功获取所有分数。

综上我们想要获取的信息都已经取到了。

然后就是写到表格之中,这里为了方便直接写到csv即可。直接贴代码了。with open('B站排行榜www.lanol.cn.csv', 'w') as f:

f.write('标题,分数\n')

for index, i in enumerate(titles):

f.write(f'{i},{grades[index]}\n')

202006131020371689342.png

这样子,就可以了,这个只是一个思路,获取更多信息你可以自由发挥。

所有代码一共才17行,人生苦短,Python当歌,其实其他语言也可以,只是麻烦了一点而已。

所有代码如下:

[CommShow]import parsel

import requests

url = 'https://www.bilibili.com/ranking/all/0/0/1'

headers = {

'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36'

}

response = requests.get(url=url, headers=headers).text

response = parsel.Selector(response)

# www.lanol.cn Lan的小站

titles = response.xpath('//div[2]/div[2]/a/text()').extract()

grades = response.xpath('//div[2]/div[2]/div[2]/div/text()').extract()

with open('B站排行榜www.lanol.cn.csv', 'w') as f:

f.write('标题,分数\n')

for index, i in enumerate(titles):

f.write(f'{i},{grades[index]}\n')

print(grades)

[/CommShow]

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python爬虫可以用于爬取B站的视频数据。根据引用中提到的Python爬虫教学视频,我们可以通过学习这套课程来了解Python爬虫如何抓取数据的全过程。此外,引用中也提到了如何下载B站的指定视频。 关于Python爬虫爬取B站视频的方法,可以分为以下几个步骤: 1. 寻找合适的爬虫库:Python有很多优秀的爬虫库,比如Requests、BeautifulSoup、Scrapy等。你可以根据自己的需求选择合适的库。 2. 获取视频页面的URL:通过分析B站视频页面的URL结构,可以获取到视频页面的URL。可以使用爬虫库发送HTTP请求,获取视频页面的HTML源码。 3. 解析HTML源码:使用爬虫库解析HTML源码,可以获取视频的相关信息,比如视频标题、视频时长、视频评论等。 4. 下载视频:根据视频的URL,可以使用爬虫库下载视频文件。可以将视频保存到本地或者其他合适的位置。 在这个过程中,你可以参考引用提到的Python爬虫教学视频,以及引用中提到的下载B站视频的方法。 此外,如果你对Python爬虫有更深入的学习需求,你还可以参考引用提到的一本关于Python爬虫的书籍。这本书分为三篇,分别介绍了Python基础、Python框架和Python框架实战的内容,对于想要深入学习Python爬虫的同学来说是一本不可多得的参考书。 总结起来,要使用Python爬虫爬取B站视频,你可以通过学习Python爬虫教学视频、参考相关书籍以及查阅相关资料来了解爬虫的基本原理和方法,并根据需要选择合适的爬虫库进行开发。同时,你也可以参考引用中提到的下载B站视频的方法来实现下载指定视频的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值