如题,B站老铁爬来玩玩~~~

思路:

  1. Reuqests.get取得网页元素
  2. BeautifulSoup清洗,梳理出框架
  3. 输出存为csv文件

各模块的代码:
1:

from requests import *
from bs4  import *
from re import *def geturl(url):try:pg = get(url)pg.raise_for_status()pg.encoding = pg.apparent_encodingpgsoup = BeautifulSoup(pg.text,'html.parser')print('Get webpage done')return pgsoupexcept:print('failed')

2:
ps.这一块核心其实梳理了好久,总结两个办法:
1.系统梳理网页框架:
用bs4的find,find_all
用children/parent
2.暴力拆解,找出需要的数据即可:
用re正则表达式寻找pattern

def get_ranklist(pagesoup):fullist = []for i in pagesoup.find_all('li','rank-item'): #遍历每一个排名fullist.append(i)cleanlist = []for i in range(len(fullist)):eachvideo = []index = fullist[i]eachvideo.append(index.find('div','num').string) #名次eachvideo.append(index.find('a','title').string)#视频名称videodata = index.find_all('span','data-box')#浏览量,弹幕量,作者pattern=r">([^<,]+)<" n=findall(pattern,str(videodata))for i in n:eachvideo.append(i)link = index.find('div','img') #视频链接pattern = r'"(https://[^"]+)"'findpattern = findall(pattern,str(link))eachvideo.append(findpattern[0])cleanlist.append(eachvideo)return cleanlist

3:

def write_ranklist(ls,path):try:f = open(path,'w')f.write('排名,视频名,观看数,弹幕数,UP主,视频链接'+'\n')for i in ls:f.write(','.join(i)+'\n')f.close()print('file saved')except:print('failed')

最后:把各模块串起来:

def main():print('='*10+'准备爬取Bilibili全站排行榜'+'='*10)url = (input('请输入网址:'))pagesoup = geturl(url)ls = get_ranklist(pagesoup)print('='*10+'榜单获取成功'+'='*10)print('第一名是【'+ls[0][1]+'】,UP主是【'+ls[0][4]+'】')path = './/bilibili_rank.csv'write_ranklist(ls,path)main()

效果如下:
准备爬取Bilibili全站排行榜
请输入网址: https://www.bilibili.com/ranking/all/36/0/3
Get webpage done
榜单获取成功
第一名是【给树浇水还要坐牢?植树节讲讲张三和树的故事】,UP主是【罗翔说刑法】
file saved

简单明了~
继续求大佬指教嘤~

Have fun!

【Python简单爬虫练习--Bilibili榜单】爬取+梳理B站排行榜页面相关推荐

  1. python爬虫 - 起点女生榜单爬取 - 1

    python爬虫 - 起点女生榜单爬取 ​ 最近一直在追庆余年,顺带瞄了一眼小说,真真是精彩(虽然因为范闲多妻的设定接受不了就放弃了). ​ 说来说去,还是钟爱女频的修仙小说,所以就想爬一下起点女生网 ...

  2. Python新手爬虫训练小项目《爬取彼岸图网》(超详细讲解版)

    Python新手爬虫训练小项目<爬取彼岸图网>(超详细讲解版) 这是我的第一篇文章,作为一名新手爬虫,这个算是我这几天来的努力成果,虽然代码寥寥几行但花费了大半天,新手上路还是不能只看视频 ...

  3. python爬虫入门练习:BeautifulSoup爬取猫眼电影TOP100排行榜,pandas保存本地excel文件

    传送门:[python爬虫入门练习]正则表达式爬取猫眼电影TOP100排行榜,openpyxl保存本地excel文件 对于上文使用的正则表达式匹配网页内容,的确是有些许麻烦,替换出现任何的差错都会导致 ...

  4. Python网络爬虫(九):爬取顶点小说网站全部小说,并存入MongoDB

    前言:本篇博客将爬取顶点小说网站全部小说.涉及到的问题有:Scrapy架构.断点续传问题.Mongodb数据库相关操作. 背景: Python版本:Anaconda3 运行平台:Windows IDE ...

  5. Python网络爬虫3 - 生产者消费者模型爬取某金融网站数据

    博客首发于www.litreily.top 应一位金融圈的朋友所托,帮忙写个爬虫,帮他爬取中国期货行业协议网站中所有金融机构的从业人员信息.网站数据的获取本身比较简单,但是为了学习一些新的爬虫方法和技 ...

  6. 爬虫python爬取页面请求_03 Python网络爬虫第三弹《爬取get请求的页面数据》,urllib...

    一.urllib库 urllib是Python自带的一个用于爬虫的库,其主要作用就是可以通过代码模拟浏览器发送请求.其常被用到的子模块在Python3中的为urllib.request和urllib. ...

  7. python如何爬虫网页数据-如何轻松爬取网页数据?

    一.引言 在实际工作中,难免会遇到从网页爬取数据信息的需求,如:从微软官网上爬取最新发布的系统版本.很明显这是个网页爬虫的工作,所谓网页爬虫,就是需要模拟浏览器,向网络服务器发送请求以便将网络资源从网 ...

  8. 小白学Python之爬虫篇(一)——爬取PPT网站模板

    说明 菜狗大学生一枚,本着用什么学什么的原则,对之前简单学习的爬虫进行略微系统的整理,一方面方便以后复习,另一方面也希望给需要的人一点参考,毕竟看了那么多大佬的博客,是时候开始回报社会了哈哈哈(尴尬笑 ...

  9. python简单小脚本:模拟键盘爬取VirusTotal样本信息

    背景: 当时通宵写incaseformat病毒报告时,有个数据展示需求:根据我们收集整理后的6000个相关样本sha256去VT爬取对应的First Submission.由于之前用过VT提供的API ...

最新文章

  1. [j2me]类似于OperaMini二级菜单界面演练[1]
  2. 使用CSS样式对表格进行美化并对伪类的使用进行解析
  3. 吊打一切现有开源OCR项目!90% +准确率,训练部署一条龙
  4. Linux云服务器安装Redis并设置远程连接设置开机自启
  5. 火狐浏览器打印网页不全_武汉社保网上下载打印流程
  6. 学习笔记(06):Python网络编程并发编程-在简单套接字基础上加上通信循环
  7. 如何使用设计模式来构造系统--(7)
  8. python的标准数据类型_Python中的标准数据类型
  9. 用c51控制电机正反转以及加减速
  10. 我的第一个Imx6ULL应用《百度图像识别》
  11. 短视频剪辑如何入门?短视频剪辑常用的配音软件
  12. 斐波那契数列各种方法求解
  13. 别让抱怨毁了你的工作生活
  14. 飞思卡尔16位单片机(十四)—— CAN总线模块测试
  15. 用uni.previewImage({}) 来直接做图片的预览和识别二维码
  16. 人工智能/机器学习/深度学习:学习路线图
  17. 数字孪生 智慧工厂可视化决策系统
  18. 数据分析步骤——《谁说菜鸟不会数据分析》的总结
  19. 不是程序员还真看不懂的搞笑段子
  20. Python开源项目总结

热门文章

  1. sh文件加密解密gzexe(Cannot decompress $0)
  2. 鸿蒙喜欢吃什么,巴西龟吃什么食物,一般一天喂几次?
  3. 打开excel显示php拓展名,phpexcel 导出excel 因为文件格式或文件扩展名无效,请确定文件未损坏,并且文件扩展名与文件的格式匹配...
  4. 物理世界的鲁棒语音对抗样本(源码阅读笔记)下
  5. 如何从视频中分离音频/提取音频/提取视频
  6. 如何把png/jpg文件生成为字体图标(css icon-font)
  7. 生鲜配送系统软件排名
  8. CSS实现图片无限循环无缝滚动
  9. lisp语言绘制路灯_LISP语言在AD道路设计方案中各种应用
  10. [EULAR文摘] 超声滑膜炎和腱鞘炎对已获临床缓解患者病情复发的预测