【Python简单爬虫练习--Bilibili榜单】爬取+梳理B站排行榜页面
如题,B站老铁爬来玩玩~~~
思路:
- Reuqests.get取得网页元素
- BeautifulSoup清洗,梳理出框架
- 输出存为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站排行榜页面相关推荐
- python爬虫 - 起点女生榜单爬取 - 1
python爬虫 - 起点女生榜单爬取 最近一直在追庆余年,顺带瞄了一眼小说,真真是精彩(虽然因为范闲多妻的设定接受不了就放弃了). 说来说去,还是钟爱女频的修仙小说,所以就想爬一下起点女生网 ...
- Python新手爬虫训练小项目《爬取彼岸图网》(超详细讲解版)
Python新手爬虫训练小项目<爬取彼岸图网>(超详细讲解版) 这是我的第一篇文章,作为一名新手爬虫,这个算是我这几天来的努力成果,虽然代码寥寥几行但花费了大半天,新手上路还是不能只看视频 ...
- python爬虫入门练习:BeautifulSoup爬取猫眼电影TOP100排行榜,pandas保存本地excel文件
传送门:[python爬虫入门练习]正则表达式爬取猫眼电影TOP100排行榜,openpyxl保存本地excel文件 对于上文使用的正则表达式匹配网页内容,的确是有些许麻烦,替换出现任何的差错都会导致 ...
- Python网络爬虫(九):爬取顶点小说网站全部小说,并存入MongoDB
前言:本篇博客将爬取顶点小说网站全部小说.涉及到的问题有:Scrapy架构.断点续传问题.Mongodb数据库相关操作. 背景: Python版本:Anaconda3 运行平台:Windows IDE ...
- Python网络爬虫3 - 生产者消费者模型爬取某金融网站数据
博客首发于www.litreily.top 应一位金融圈的朋友所托,帮忙写个爬虫,帮他爬取中国期货行业协议网站中所有金融机构的从业人员信息.网站数据的获取本身比较简单,但是为了学习一些新的爬虫方法和技 ...
- 爬虫python爬取页面请求_03 Python网络爬虫第三弹《爬取get请求的页面数据》,urllib...
一.urllib库 urllib是Python自带的一个用于爬虫的库,其主要作用就是可以通过代码模拟浏览器发送请求.其常被用到的子模块在Python3中的为urllib.request和urllib. ...
- python如何爬虫网页数据-如何轻松爬取网页数据?
一.引言 在实际工作中,难免会遇到从网页爬取数据信息的需求,如:从微软官网上爬取最新发布的系统版本.很明显这是个网页爬虫的工作,所谓网页爬虫,就是需要模拟浏览器,向网络服务器发送请求以便将网络资源从网 ...
- 小白学Python之爬虫篇(一)——爬取PPT网站模板
说明 菜狗大学生一枚,本着用什么学什么的原则,对之前简单学习的爬虫进行略微系统的整理,一方面方便以后复习,另一方面也希望给需要的人一点参考,毕竟看了那么多大佬的博客,是时候开始回报社会了哈哈哈(尴尬笑 ...
- python简单小脚本:模拟键盘爬取VirusTotal样本信息
背景: 当时通宵写incaseformat病毒报告时,有个数据展示需求:根据我们收集整理后的6000个相关样本sha256去VT爬取对应的First Submission.由于之前用过VT提供的API ...
最新文章
- [j2me]类似于OperaMini二级菜单界面演练[1]
- 使用CSS样式对表格进行美化并对伪类的使用进行解析
- 吊打一切现有开源OCR项目!90% +准确率,训练部署一条龙
- Linux云服务器安装Redis并设置远程连接设置开机自启
- 火狐浏览器打印网页不全_武汉社保网上下载打印流程
- 学习笔记(06):Python网络编程并发编程-在简单套接字基础上加上通信循环
- 如何使用设计模式来构造系统--(7)
- python的标准数据类型_Python中的标准数据类型
- 用c51控制电机正反转以及加减速
- 我的第一个Imx6ULL应用《百度图像识别》
- 短视频剪辑如何入门?短视频剪辑常用的配音软件
- 斐波那契数列各种方法求解
- 别让抱怨毁了你的工作生活
- 飞思卡尔16位单片机(十四)—— CAN总线模块测试
- 用uni.previewImage({}) 来直接做图片的预览和识别二维码
- 人工智能/机器学习/深度学习:学习路线图
- 数字孪生 智慧工厂可视化决策系统
- 数据分析步骤——《谁说菜鸟不会数据分析》的总结
- 不是程序员还真看不懂的搞笑段子
- Python开源项目总结
热门文章
- sh文件加密解密gzexe(Cannot decompress $0)
- 鸿蒙喜欢吃什么,巴西龟吃什么食物,一般一天喂几次?
- 打开excel显示php拓展名,phpexcel 导出excel 因为文件格式或文件扩展名无效,请确定文件未损坏,并且文件扩展名与文件的格式匹配...
- 物理世界的鲁棒语音对抗样本(源码阅读笔记)下
- 如何从视频中分离音频/提取音频/提取视频
- 如何把png/jpg文件生成为字体图标(css icon-font)
- 生鲜配送系统软件排名
- CSS实现图片无限循环无缝滚动
- lisp语言绘制路灯_LISP语言在AD道路设计方案中各种应用
- [EULAR文摘] 超声滑膜炎和腱鞘炎对已获临床缓解患者病情复发的预测