python爬取b站排行榜视频信息
和上一篇相比,差别不是很大
import xlrd#读取excel
import xlwt#写入excel
import requests
import linecache
import wordcloud
import jieba
import matplotlib.pyplot as plt
from bs4 import BeautifulSoup if __name__=="__main__":
f = xlwt.Workbook(encoding='utf-8') #创建工作簿
sheet1 = f.add_sheet(u'sheet1') #创建sheet
row0 = [u'ID',u'name',u'av',u'play_num',u'comment_num']
#生成第一行
for i in range(0,len(row0)):
sheet1.write(0,i,row0[i])
yun="" n=0#ID编号
target='https://www.bilibili.com/ranking/all/160/0/3'#b站
user_agent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36'
headers = {'User-Agent':user_agent} req=requests.get(url=target)
html=req.text
html=html.replace('<br>',' ').replace('<br/>',' ').replace('/>','>')
bf=BeautifulSoup(html,"html.parser") texts=bf.find('ul',class_='rank-list')
texts_div=texts.find_all('div',class_='info')
#print(texts_div)
for item in texts_div:
n=n+1
item_name=item.find('a').text#标题
yun+=str(item_name)
item_href=item.find('a')['href']#链接
h=item_href.rfind('/')
item_href=item_href[h+1:]
item_refer=item.find_all('span',class_='data-box')
item_refer1=item_refer[0].text
item_refer2=item_refer[1].text
#print('{} {} {} {}\n'.format(item_name,item_href,item_refer1,item_refer2))
mid=[n,item_name,item_href,item_refer1,item_refer2]
#print(mid)
for i in range(len(row0)):#写入excel
sheet1.write(n,i,mid[i])
f.save('demo1.xls') #保存文件 # 结巴分词,生成字符串,wordcloud无法直接生成正确的中文词云
cut_text = " ".join(jieba.cut(yun))
wc = wordcloud.WordCloud(
#设置字体,不然会出现口字乱码,文字的路径是电脑的字体一般路径,可以换成别的
font_path="C:/Windows/Fonts/simfang.ttf",
#设置了背景,宽高
background_color="white",width=1000,height=880).generate(cut_text) plt.imshow(wc, interpolation="bilinear")
plt.axis("off")
plt.show()
print("Done!")
python爬取b站排行榜视频信息的更多相关文章
- python爬取b站排行榜
爬取b站排行榜并存到mysql中 目的 b站是我平时看得最多的一个网站,最近接到了一个爬虫的课设.首先要选择一个网站,并对其进行爬取,最后将该网站的数据存储并使其可视化. 网站的结构 目标网站:bil ...
- 爬取b站互动视频信息
首先分辨视频是不是互动视频可以看 https://api.bilibili.com/x/player.so?id=cid:1&aid=89017 这个api返回的xml中的 <inter ...
- Python爬取B站视频信息
该文内容已失效,现已实现scrapy+scrapy-splash来爬取该网站视频及用户信息,由于B站的反爬封IP,以及网上的免费代理IP绝大部分失效,无法实现一个可靠的IP代理池,免费代理网站又是各种 ...
- 用Python爬取B站、腾讯视频、爱奇艺和芒果TV视频弹幕!
众所周知,弹幕,即在网络上观看视频时弹出的评论性字幕.不知道大家看视频的时候会不会点开弹幕,于我而言,弹幕是视频内容的良好补充,是一个组织良好的评论序列.通过分析弹幕,我们可以快速洞察广大观众对于视频 ...
- 萌新学习Python爬取B站弹幕+R语言分词demo说明
代码地址如下:http://www.demodashi.com/demo/11578.html 一.写在前面 之前在简书首页看到了Python爬虫的介绍,于是就想着爬取B站弹幕并绘制词云,因此有了这样 ...
- 爬虫---爬取b站小视频
前面通过python爬虫爬取过图片,文字,今天我们一起爬取下b站的小视频,其实呢,测试过程中需要用到视频文件,找了几个网站下载,都需要会员什么的,直接写一篇爬虫爬取视频~~~ 分析b站小视频 1.进入 ...
- 使用python爬取MedSci上的期刊信息
使用python爬取medsci上的期刊信息,通过设定条件,然后获取相应的期刊的的影响因子排名,期刊名称,英文全称和影响因子.主要过程如下: 首先,通过分析网站http://www.medsci.cn ...
- python爬取当当网的书籍信息并保存到csv文件
python爬取当当网的书籍信息并保存到csv文件 依赖的库: requests #用来获取页面内容 BeautifulSoup #opython3不能安装BeautifulSoup,但可以安装Bea ...
- Python爬取b站任意up主所有视频弹幕
爬取b站弹幕并不困难.要得到up主所有视频弹幕,我们首先进入up主视频页面,即https://space.bilibili.com/id号/video这个页面.按F12打开开发者菜单,刷新一下,在ne ...
随机推荐
- Break关键字和Continue关键字
1.Break关键字 在循环体内,只要代码遇到break,程序立马结束当前循环. 当前循环指的是break语句所在的循环体.(直接跳到大括号外) // 例1: 1到10,第一是数字是2的倍数,控制台输 ...
- [Gradle] 发布 library 到本地 maven 仓库
Java Library // publish_local_java.gradle apply plugin: 'maven-publish' publishing { publications { ...
- P2388 阶乘之乘
首先感谢wxy学长之前告诉我这道题,结果今天竟然一眼切了,咕咕咕 题目链接: P2388 阶乘之乘 题目思路: 第一眼看到一定想到的是先求一下阶乘然后看最后又几个零,但是这样会TIL啊 想一下0是怎么 ...
- 2015-2016-2《Java程序设计》团队博客3
项目进展 这周就是对上周所列出的类进行具体实现.但是到目前为止还没有遇到一些实质性的问题.虽然感觉没有问题就是最大的问题,但是还是希望能够尽早发现bug并及时改掉. 目前已经完成前几个文件之间的架构, ...
- IIS 7中添加FTP站点并设置指定用户访问
1. 开启 FTP 和 IIS 服务功能: 2. 添加新用户: 打开计算机管理界面: 展开“本地用户与组”: 邮件点击“用户”->点击“创建新用户”: 在创建新用户对话框输入用户 ...
- linux学习(3):linux常用命令大全
Linux常用命令大全(非常全!!!) 最近都在和Linux打交道,感觉还不错.我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较短 ...
- 布局优化: <include />、<merge /> 、<ViewStub /> 标签的使用
在布局优化中,Androi的官方提到了这三种布局<include />.<merge />.<ViewStub />,并介绍了这三种布局各有的优势,下面也是简单说一 ...
- implement a list using Rust
Rust果然比較複雜,在經歷了n次compile fail,終于寫成了一個 list 難點: 對Rc<>的用法不熟悉.對borrow checker不夠熟悉 有些寫法可能還不是最短的 us ...
- 一个简单的java爬虫
直接上代码: package com.jeecg.util; import java.io.BufferedReader; import java.io.IOException; import jav ...
- 将已经存在的项目提交到gitlab的新分支中
将已经存在的项目提交到gitlab中 在gitlab中新增用户jack 登录jack这个git用户,然后创建仓库 mxonline 已经写好了部分功能的项目存放在 D:\>cd D:\pytho ...