代码之家(www.adminjie.com)精品网站源码,微信源码,游戏源码分享平台。《交流群:1037940574》
当前位置:网站首页 技术文章 脚本中心 正文

Python如何爬取b站热门视频并导入Excel

时间:2020-08-10 [脚本中心]作者:admin 浏览:246 次

代码如下

#encoding:utf-8  import requests  from lxml import etree  import xlwt  import os  # 爬取b站热门视频信息  def spider():  video_list = []  url = "https://www.bilibili.com/ranking?spm_id_from=333.851.b_7072696d61727950616765546162.3"  html = requests.get(url, headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36"}).text  html = etree.HTML(html)  infolist = html.xpath("//li[@class='rank-item']")  for item in infolist:  rank = "".join(item.xpath("./div[@class='num']/text()"))  video_link = "".join(item.xpath(".//div[@class='info']/a/@href"))  title = "".join(item.xpath(".//div[@class='info']/a/text()"))  payinfo = "".join(item.xpath(".//div[@class='detail']/span/text()")).split("万")  play = payinfo[0] + "万"  comment = payinfo[1]  if comment.isdigit() == False:  comment += "万"  upname = "".join(item.xpath(".//div[@class='detail']/a/span/text()"))  uplink = "http://" + "".join(item.xpath(".//div[@class='detail']/a/@href"))  hot = "".join(item.xpath(".//div[@class='pts']/div/text()"))  video_list.append({  'rank': rank,  'videolink': video_link,  'title': title,  'play': play,  'comment': comment,  'upname': upname,  'uplink': uplink,  'hot': hot  })  return video_list  def write_Excel():  # 将爬取的信息添加到Excel  video_list = spider()  workbook = xlwt.Workbook() # 定义表格  sheet = workbook.add_sheet("b站热门视频") # 添加sheet的name  xstyle = xlwt.XFStyle() # 实例化表格样式对象  xstyle.alignment.horz = 0x02 # 字体居中  xstyle.alignment.vert = 0x01  head = ['视频名', 'up主','排名', '热度','播放量','评论数']  for h in range(len(head)):  sheet.write(0, h, head[h], xstyle)  i = 1  for item in video_list:  # 向单元格(视频名)添加该视频的超链接  if '"' in item["title"]:  item["title"] = item["title"].split('"')[1]  title_data = 'HYPERLINK("'+item["videolink"]+'";"'+item["title"]+'")' # 设置超链接  sheet.col(0).width = int(256 * len(title_data) * 3/5) # 设置列宽  sheet.write(i, 0, xlwt.Formula(title_data), xstyle)  name_data = 'HYPERLINK("'+item["uplink"]+'";"'+item["upname"]+'")'  sheet.col(1).width = int(256 * len(name_data) * 3/5)  sheet.write(i, 1, xlwt.Formula(name_data), xstyle)  sheet.write(i, 2, item["rank"], xstyle)  sheet.write(i, 3, item["hot"], xstyle)  sheet.write(i, 4, item["play"], xstyle)  sheet.write(i, 5, item["comment"], xstyle)  i += 1  # 如果文件存在,则将其删除  file = "b站热门视频信息.xls"  if os.path.exists(file):  os.remove(file)  workbook.save(file)  if __name__ == '__main__':  write_Excel()

结果展示:

Python如何爬取b站热门视频并导入Excel

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

转载请注明来源:Python如何爬取b站热门视频并导入Excel

本文永久链接地址:https://www.adminjie.com/post/3547.html

免责声明:
本站所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。

附:
二○○二年一月一日《计算机软件保护条例》第十七条规定:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬!鉴于此,也希望大家按此说明研究软件!

版权声明:
一、本站致力于为软件爱好者提供国内外软件开发技术和软件共享,着力为用户提供优资资源。
二、本站提供的部分源码下载文件为网络共享资源,请于下载后的24小时内删除。如需体验更多乐趣,还请支持正版。
三、我站提供用户下载的所有内容均转自互联网。如有内容侵犯您的版权或其他利益的,若有侵犯你的权益请:点此维权 站长会进行审查之后,情况属实的会在三个工作日内为您删除。

  • 代码之家会员升级
  • 最新文章
    热门文章