大数据Python爬取B站电影排行榜—信息爬取

  • 前言
  • 一、配置环境
  • 二、爬取B站电影排行榜top100
    • 1.找到B站电影排行榜top100网页
    • 2.用URL进行爬取信息
  • 三、建立Excel表并导出
  • 总结

前言

通过学习《大数据基本开发与实验》课程,完成对B站电影排行榜的爬取,并进行数据预处理和可视化分析。

一、配置环境

该项目需要配置Python3.0环境,我采用的是jupyter里面的Python3,其实是一样的。

二、爬取B站电影排行榜top100

1.找到B站电影排行榜top100网页

找到B站电影排行榜top100的页面,对该页面的源代码进行分析。(点击右键,即可查看源代码),或者找到属性,找到网络network,查看URL=“…”。

2.用URL进行爬取信息

请求头、包代码如下(示例):

import os
import requests
import xlwt
from lxml import html
import pandas as pd

使用的url网络请求的数据代码如下(示例):

def bug(key_once):url = 'https://www.bilibili.com/v/popular/rank/movie'#获得一个网页最简单直接的方法就是  r = requests.get(url)  ,向服务器请求资源。response = requests.get(url).text #response.text返回的是Unicode格式,http响应内容的字符串形式,url对应的页面内容l = html.fromstring(response)   #html.fromstring 会解析html 头部中charset属性,并且自动的decode#response=requests.get(url)#html=response.text#下面我们使用相对路径,查找一下相对路径下li标签下的div标签下的class="rank-item",class=content属性的值matter = l.xpath('//li[@class="rank-item"]/div[@class="content"]/div[@class="info"]')rank = 0  #一开始排名为0#Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。for item in matter: #for循环遍历matterrank += 1   #排名+1topic = "".join(item.xpath('./a/text()')).replace('"','')#split():拆分字符串。通过指定分隔符对字符串进行切片,并返回分割后的字符串列表(list)playinfo = "".join(item.xpath('./div[@class="detail"]/span/text()')).split("万") play = playinfo[0] + "万"fav = "".join(item.xpath('./div[@class="detail"]/a/span/text()'))hot = "".join(item.xpath('./div[@class="pts"]/div/text()'))key_once.append({   #在video_list.append列表末尾添加新的对象'rank': rank,    #排名'topic': topic,  #题目  'play': play,   #播放量'hot': hot  #热度 })return key_once

三、建立Excel表并导出

建立Excel表格,并将数据导出。

def importance(key_once):workbook = xlwt.Workbook()  # 定义、创建一个workbooktable = workbook.add_sheet('b站电影行榜前100')  # 添加、创建一个sheetal = xlwt.XFStyle()  # 初始化样式al.horz = 0x02  # 为样式创建字体,设置字体水平居中al.vert = 0x01  # 设置字体垂直居中head = ['排名', '标题','播放量', '综合得分']  # 表头for y in range(len(head)):table.write(0, y, head[y],al)  # 把表头写到Excel里面去 参数对应行,列,值,(格式)i = 1for item in key_once:# 设置第一、二行的宽度first_col=table.col(0)sec_col= table.col(1)first_col.width=256*40                 sec_col.width=256*25table.write(i, 0, item['rank'],al)table.write(i, 1, item['topic'], al)table.write(i, 2, item['play'], al)table.write(i, 3, item['hot'], al)i += 1# 如果文件存在,则将其删除if os.path.exists('C:/python/b站电影排行榜前100.xls'):os.remove('C:/python/b站电影排行榜前100.xls')workbook.save('C:/python/b站电影排行榜前100.xls')  #保存excel文件的路径print("生成的文件位于:C:/python/b站电影排行榜前100.xls")if __name__ == '__main__':   #调用前面两个函数key_once = []importance(bug(key_once))

总结

本文主要运用python技术实现了对一个网站—B站电影排行榜信息的爬取。最终得到的数据到自己保存的路径去找即可。下一篇进行可视化与预处理

大数据Python爬取B站电影排行榜——爬取信息相关推荐

  1. JAVA爬虫(一):豆瓣电影排行榜爬取

    JAVA爬虫(一):豆瓣电影排行榜爬取 前言 流程图 步骤 一.爬取豆瓣电影榜单网页源代码 二.网页源码解析 三.爬取单个电影网页源码 四.源代码解析及关键信息获取 前言 最近和大创队友一起给大创做的 ...

  2. Scrapy的使用(1) -- 爬取b站新番排行榜

    Scrapy的使用(1) – 爬取b站新番排行榜 scrapy框架笔记(1),参考官方文档与部分教程,完成一个简单的爬虫程序,爬取了b站的2021年1月新番数据 1. 创建项目 在需要存储的代码目录下 ...

  3. PowerBI也能做爬虫:爬取豆瓣Top电影排行榜

    对于简单的页面数据爬取,其实使用PowerBI就可以可视化直接实现了,不需要另外写爬虫程序.本文以爬取豆瓣Top250电影排行榜示例说明下操作的基本过程. 一.分析URL规律及网页结构 打开豆瓣电影T ...

  4. 【AI案例】(二)搭建大数据Python生态知识体系

    文章目录 1. 软件在大数据方向的应用 2. 大数据方向应用: 3. 大数据的应用流程 4. 传统数据分析的痛点: 5. 大数据的应用流程与生态圈 6. 大数据技术框架应用 7. Flink框架应用 ...

  5. python智慧树期末_智慧树大数据python期末答案

    智慧树大数据python期末答案 中国加入wto后亚洲经济重心迅速向日本向中国转移掀起了本轮经济全球化的库兹涅佐夫号航母着舰区是航母斜角甲板,斜角甲板上面有好的戏剧语言不仅能够推动什么发展同时还能揭示 ...

  6. Python+大数据-Python学习(七)

    Python+大数据-Python学习(七) 1.文件的基本操作 文件打开的格式: file = open(文件路径,读写模式) ​ - open默认打开的式r模式 文件路径:可以写相对路径,也可以写 ...

  7. Python+大数据-Python学习(五)

    Python+大数据-Python学习(五) 1.函数的基本使用 函数是一个被命名的.独立的.完成特定功能的代码段,其可能给调用它的程序一个返回值.被命名的:在Python中,大部分函数都是有名函数 ...

  8. FMI-人工智能大数据高峰论坛(深圳站)

    科技的大潮正风生水起,人工智能.大数据发展如火如荼,在这个汹涌的时代里,我们不能止步于看客. 今天,FMI人工智能与大数据高峰论坛以接续和创新的精神,旨在帮助更多的人站上市场的风口,走向成功.通过不断 ...

  9. mysql scrapy 重复数据_大数据python(scrapy)爬虫爬取招聘网站数据并存入mysql后分析...

    基于Scrapy的爬虫爬取腾讯招聘网站岗位数据视频(见本头条号视频) 根据TIOBE语言排行榜更新的最新程序语言使用排行榜显示,python位居第三,同比增加2.39%,为什么会越来越火,越来越受欢迎 ...

最新文章

  1. 如何一夜暴富?这里有一份比特币价格预测指南
  2. ajax datatype为html,Jquery ajax请求中datatype的含义
  3. Python单元测试之pytest
  4. 排列与组合的Java递归实现 (参考)
  5. 您可能在2017年期待JavaScript会议
  6. Spring Cloud微服务系列-Eureka Client源码解析(二)
  7. Windows下Git的下载与安装
  8. 第129天:node.js安装方法
  9. pyhon爬虫—爬取原创力文档(全面解析)
  10. 软件著作权-说明书范本
  11. 惠普台式机开不了机怎么办 惠普台式电脑无法开机的解决方法
  12. matlab画colormap
  13. oracle stdevp函数,适用于sql初学,学习sql语句的一些整理,其中大多是oracle的
  14. 自我提升的10个好习惯
  15. 理县“有福童享”“牵手圆梦 陪伴成长”关爱折翼天使志愿服务活动
  16. 纯英文拼音交流1声应该表示成0,要不就不知道怎么发音
  17. 初识托福TOEFL口语
  18. centos 挂载iso光盘镜像文件
  19. 移动魔百盒M304A救砖、线刷教程(附固件)
  20. 2020网易大数据开发面试题整理 (提前批) (持续更新)

热门文章

  1. 乌班图linux分辨率不能调,ubuntu分辨率1024*768无法选择解决方法
  2. 相遇3000亿美金之巅,阿里腾讯战力与血值几何?
  3. c++ 枚举系统字体
  4. 扑克牌面试问题:从牌顶拿出一张牌放到桌子上,再从牌顶拿一张牌放在手上牌的底部,重复第一步、第二步的操作
  5. 算法运行时间1、logN、N、NlogN 、N^2、N^3、2^n之间的比较
  6. discuz如何关闭个人空间
  7. 高级信息系统项目管理师十大领域
  8. 一点关于线程和摇奖机
  9. 那个时候我不小心改写了Bash ...
  10. 安卓机器人做图软件_美图秀秀绘画机器人app下载-美图绘画机器人Andy最新版下载v7.0.0.0-西西软件下载...