写在前面的一点网抑云:

爱情不是随便许诺好了不想再说了没错 是我那么多的冷漠 让你感觉到无比的寂寞不过 一个女人的不仅仅渴望得到的一个承诺我害怕欺骗也害怕寂寞更害怕我的心会渐渐地凋落爱情不是随便许诺好了 不想再说了

环境使用

Python 3.8 解释器 3.10
Pycharm 2021.2 专业版
selenium 3.141.0

本次要用到selenium模块,所以请记得提前下载好浏览器驱动,配置好环境

代码实现

先是安装、导入所需模块

from selenium import webdriver  # 导入浏览器的功能
import re # 正则表达式模块, 内置
import time # 时间模块, 程序延迟

1. 创建一个浏览器对象

driver = webdriver.Chrome()

2. 执行自动化

###想要学习Python?Python学习交流群:660193417 满足你的需求,资料都已经上传群文件,可以自行下载!###
driver.get('https://music.163.com/#/song?id=488249475')
# selenium无法直接获取到嵌套页面里面的数据
driver.switch_to.frame(0) # switch_to.frame() 切换到嵌套网页
driver.implicitly_wait(10) # 让浏览器加载的时候, 等待渲染页面

下拉页面, 直接下拉到页面的底部

js = 'document.documentElement.scrollTop = document.documentElement.scrollHeight'
driver.execute_script(js)

3.解析数据

divs = driver.find_elements_by_css_selector('.itm')  # 所有div  css语法: 定位到 html 数据/xpath/正则

for div in divs:
cnt = div.find_element_by_css_selector('.cnt.f-brk').text cnt = re.findall(':(.*)', cnt)[0] # 中英文有区别
print(cnt)

保存数据

翻页

###想要学习Python?Python学习交流群:660193417 满足你的需求,资料都已经上传群文件,可以自行下载!###
for page in range(10): # 控制翻页 速度太快
# 翻页 , 找到下一页标签, 点击?
driver.find_element_by_css_selector('.znxt').click()
time.sleep(1)
# selenium 欲速则不达

保存为txt文件

with open('contend.txt', mode='a', encoding='utf-8') as f:
f.write(cnt + '\n')

运行代码得到结果

再做个词云 导入相关模块

###想要学习Python?Python学习交流群:660193417 满足你的需求,资料都已经上传群文件,可以自行下载!###
import jieba # 中文分词库 pip install jieba
import wordcloud # 制作词云图的模块 pip install wordcloud
import imageio

读取文件数据

with open('contend.txt', mode='r', encoding='utf-8') as f:
txt = f.read()
print(txt)

词云图 分词<中文(词语)> 基于结果

txt_list = jieba.lcut(txt)
print('分词结果:', txt_list)

合并

string_ = ' '.join(txt_list)  # 1 + 1 = 2   字符串的基本语法
print('合并分词:', string_)

创建词云图

wc = wordcloud.WordCloud(
width=1000, # 图片的宽
height=800, # 图片的高
background_color='white', # 图片的背景色
font_path='msyh.ttc', # 微软雅黑
scale=15, # 词云图默认的字体大小
# mask=img, # 指定词云图的图片 # 停用词< 语气词, 助词,....
stopwords=set([line.strip() for line in open('cn_stopwords.txt', mode='r', encoding='utf-8').readlines()] )
)
print('正在绘制词云图...')
wc.generate(string_) # 绘制词云图
wc.to_file('out.png') # 保存词云图
print('词云图绘制完成...')

最后效果

到点了开始网抑云(悲)但是用python(整活)的更多相关文章

  1. 这个网易云JS解密,老网抑云看了都直呼内行

    最近更新频率慢了,这不是因为CK3发售了嘛,一个字就是"肝".今天来看一下网易云音乐两个加密参数params和encSecKey,顺便抓取一波某歌单的粉丝,有入库哦,使用mysql ...

  2. Android Jetpack 架构组件最佳实践之“网抑云”APP

    背景 近几年,Android 相关的新技术层出不穷.往往这个技术还没学完,下一个新技术又出来了.很多人都是一脸黑人问号? 不少开发者甚至开始哀嚎:"求求你们别再创造新技术了,我们学不动了!& ...

  3. 平分的直线 牛客网 程序员面试金典 C++ Python

    平分的直线 牛客网 程序员面试金典 C++ Python 题目描述 在二维平面上,有两个正方形,请找出一条直线,能够将这两个正方形对半分.假定正方形的上下两条边与x轴平行. 给定两个vecotrA和B ...

  4. 奇偶位交换 牛客网 程序员面试金典 C++ Python

    奇偶位交换 牛客网 程序员面试金典 C++ Python 题目描述 请编写程序交换一个数的二进制的奇数位和偶数位.(使用越少的指令越好) 给定一个int x,请返回交换后的数int. 测试样例: 10 ...

  5. 字符串压缩 牛客网 程序员面试金典 C++ Python

    字符串压缩 牛客网 程序员面试金典 C++ Python 题目描述 利用字符重复出现的次数,编写一个方法,实现基本的字符串压缩功能.比如,字符串"aabcccccaaa"经压缩会变 ...

  6. 回文链表 牛客网 程序员面试金典 C++ Python

    回文链表 牛客网 程序员面试金典  C++ Python 题目描述 请编写一个函数,检查链表是否为回文. 给定一个链表ListNode* pHead,请返回一个bool,代表链表是否为回文. 测试样例 ...

  7. 另类加法 牛客网 程序员面试经典 C++ Python

    另类加法  牛客网 程序员面试经典 C++ Python 题目描述 请编写一个函数,将两个数字相加.不得使用+或其他算数运算符. 给定两个int A和B.请返回A+B的值 测试样例: 1,2 返回:3 ...

  8. 双栈排序 牛客网 程序员面试金典 C++ Python

    双栈排序 牛客网 程序员面试金典 C++ Python 题目描述 请编写一个程序,按升序对栈进行排序(即最大元素位于栈顶),要求最多只能使用一个额外的栈存放临时数据,但不得将元素复制到别的数据结构中. ...

  9. 原串反转 牛客网 程序员面试金典 C++ Python

    原串反转 牛客网 程序员面试金典 C++ Python 题目描述 请实现一个算法,在不使用额外数据结构和储存空间的情况下,翻转一个给定的字符串(可以使用单个过程变量). 给定一个string iniS ...

随机推荐

  1. JavaScript学习②

    2. 基本对象: 1. Function:函数(方法)对象 1. 创建: 1. var fun = new Function(形式参数列表,方法体); //忘掉吧 2. function 方法名称(形 ...

  2. ArcGIS使用技巧(七)——批量导出

    新手,若有错误还请指正! 在ArcGIS中如何将栅格数据批量导出?用到"复制栅格这个工具",这里我用的例子是:将ArcGIS默认输出的DEM文件夹批量导出为tif格式.(如果是文件 ...

  3. Java面试整理(精简版)

    Java面向对象有哪些特征,如何应用 特征(OOP) 解释说明 通俗理解 关系联系 作用 封装 隐藏内部细节,只对外暴露访问方法 属性/方法封装,便于使用,限制不合理操作 类-类 低耦合,高内聚,增强 ...

  4. 如何离线安装posh-git

    不用上github 1.下载post-git离线安装包 地址:https://files.cnblogs.com/files/xcr1234/posh-git-master.zip 2,用Powers ...

  5. JDK内置锁深入探究

    一.序言 本文讲述仅针对 JVM 层次的内置锁,不涉及分布式锁. 锁有多种分类形式,比如公平锁与非公平锁.可重入锁与非重入锁.独享锁与共享锁.乐观锁与悲观锁.互斥锁与读写锁.自旋锁.分段锁和偏向锁/轻 ...

  6. vue - vue基础/vue核心内容

    终于算是顺利进入vue了,确实也只有学了过后才知道,之前三过vue而不学,确实是对的,现在进来了一点都不后悔,ajax.node.js.promise.webpack.git等等确实是除了三大基础外还 ...

  7. 常用的Linux 系统备份、恢复命令

    公众号关注 「开源Linux」 回复「学习」,有我为您特别筛选的学习资料~ 删库跑路的事常常听说,不过,这只能是个调侃的话题,真正的工作中可不能这么干,否则,库是删了,路怕是跑不了了. 所以,备份很重 ...

  8. 4 个超实用的 Linux 监控工具

    公众号关注 「开源Linux」 回复「学习」,有我为您特别筛选的学习资料~ 下面是 Linux 下 4 个日常使用率非常高的监控工具,可以帮助我们准确快速的诊断系统问题. 1. iotop 如果你想知 ...

  9. Linux嵌套目录权限的比较探究

    在/tmp目录下新建一个嵌套目录,名字分别为test_0.test_1.test_2.在test_2目录下新建普通文件,名为tryme.设置test_0和test_2的权限为777,设置test_1的 ...

  10. mybatis 查询返回的类型中字段类型为 List<xx>

    基本类型数组 mapper.xml <resultMap id="xxDtoResultMap" type="com.xx.xxDto"> < ...