美文网首页
B站每日排行榜爬虫

B站每日排行榜爬虫

作者: 42c64edf12e9 | 来源:发表于2019-10-02 17:10 被阅读0次

    原创文章,转载请注明出处,欢迎关注微信公众号: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

    相关文章

      网友评论

          本文标题:B站每日排行榜爬虫

          本文链接:https://www.haomeiwen.com/subject/eekrpctx.html