B站每日排行榜爬虫

原创文章,转载请注明出处,欢迎关注微信公众号:Romi的杂货铺
回复b站每日排行榜爬虫获取全部源码

爬取B站排行榜前100名的视频名称,作者和播放量,用到的主要有request库获取网页信息,用正则解析网页并使用openpyxl将信息保存在Excel中

第一部分为请求网页获取信息部分,request库的基本用法

def get_html_text(url,self_header):
    try:
        response = requests.get(url,headers=self_header,timeout=30)
        response.raise_for_status()
        response.encoding = response.apparent_encoding
        #print(response.text)
        return response.text
    except:
        return ""

第二部分为用正则表达式解析网页内容并保存到Excel

def re_get_inf(html):
    list=[]
    rank_list=re.findall(r'<div class="num">(\d*)</div>',html)#排名
    title_list=re.findall(r'<div class="info"><a href=[\s\S]*?class="title">([\s\S]*?)</a><!---->',html)#视频名称
    play_num=re.findall(r'<div class="detail"><span class="data-box"><i class="b-icon play"></i>(\d*.\d*)\S</span>',html)#播放量
    author_list=re.findall(r'<span class="data-box"><i class="b-icon author"></i>([\s\S]*?)</span>',html)#UP主名称
    wb=Workbook()#新建保存文件
    sheet=wb.active
    sheet.append(['rank','title','playnum','author'])#写入标题名称
    for i in range(len(rank_list)):
        rank = rank_list[i]
        title = title_list[i]
        playnum=play_num[i]
        author=author_list[i]
        sheet.append([rank,title,playnum,author])#写入数据
    wb.save('bilibili_rankdata.xlsx')#保存文件

完整代码如下所示,代码与结果文件链接:

https://github.com/smilecoc/bilibili_rankdata

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • HTTP基本原理 URI、URL、URN(Uninform Resource) URI(Identifier):统...
    GHope阅读 6,575评论 2 26
  • 天气热,真不想在厨房里多呆,即使开着冷空调。 周日,女婿休息在家,睡个懒觉,早餐要比平时晚一个多小时。 煮粥,蒸些...
    汾湖秀阅读 5,353评论 38 37
  • 容器中的工厂Bean: 此处的工厂Bean与前面介绍的实例工厂方法创建Bean、静态工厂创建Bean有所区别: 前...
    FTOLsXD阅读 3,446评论 0 1
  • 一、绘本教学的价值追求 1.尊重阅读需求,激发阅读兴趣在教学过程中,教师只有摒弃自己的阅读成见,拓展狭窄的心灵空问...
    大咖绘本馆阅读 3,138评论 0 1
  • 在高中时就看到同学在看《杀死一只知更鸟》,但真正拿起书去看,是在看到今年2月哈珀.李去世的新闻之后。今年是一个令文...
    许桉阅读 3,265评论 0 1

友情链接更多精彩内容