python下載網頁歌詞_python3個人學習筆記-批量下載分析歌詞2

我發現之前自己真是太愚蠢了沒有搞清楚正則表達的各種用法。

不同詞語的篩選根本不用像re.sub('另一個想替換的內容','另一個替換后的內容',re.sub('想要替換的內容','替換后的內容',x))這樣傻了吧唧地篩一層又一層……(受linux的pipe荼毒太深)

正則表達中不同字符的or其實大家都知道是[abcde1234]這樣的,但是不同詞語的時候如果寫[(remix)(acoustic)]的話匹配的并不是兩個單詞而是ra,rc,ro……以此類推。

實際上你需要使用|把兩個間隔開后再括上括號([]也行)才可以匹配。

下面我們來看幾個例子:

import re

str1='remix acoustic remixxxx acous remi 1234 reacu acoustic1'

str2=re.sub('.*((remix)|(acoustic)).*','替換',str1)

str3=re.sub('.*(remix)|(acoustic).*','替換',str1)

str4=re.sub('(remix)|(acoustic)','替換',str1)

str5=re.sub('[(remix)|(acoustic)]','替換',str1)

print(str2)

print(str3)

print(str4)

print(str5)

######輸出結果

#替換

#替換xxx acous remi 1234 reacu 替換

#替換 替換 替換xxx acous remi 1234 reacu 替換1

#替換替換替換替換替換 替換替換替換替換替換替換替換替換 替換替換

#替換替換替換替換替換替換 替換替換替換替換替換 替換替換替換替換 1234 替換替換替換替換替換 替換替換替換替換替換替換替換替換1

所以我們為了篩選出更合適的不重復歌曲,就可以用這樣寫:

if (re.search(".*((remix)|(acoustic)|(edition)|(feat\.)).*",links))==None:

另外為了防止Taylor最多的詞語是shake這種沙雕情況,這次換了一個算法:

lyricswords=[]

for lyric in lyric_dict.values():

lyricswords=lyricswords + list(set(sorted(lyric.split(' ')))) #unique words in one song

#the 300 most frequent words

ly_frenquency=Counter(sorted(lyricswords)).most_common(300)

for item in ly_frenquency:

print(re.sub(r"[()']",'',str(item)))

原理很樸素,就是利用set的特性把這個有重復詞語的list變成無重復的set,最后再變回list加入到dict中(其實第二步轉換沒有必要?)。

那么我們來看一下結果吧!

笑成傻吊了……都怪我覺得說唱歌手詞匯更豐富一點,根本就是想太多了。

麻辣雞的歌詞精選:

aint, 33

money, 20

niggas, 18

bitch, 17

nicki, 17

fuck, 17

nigga, 16

bitches, 15

young, 14

queen, 13

ride, 13

hit, 12

ya, 12

boy, 12

ass, 10

pussy, 9

bout, 8

hoes, 8

rap, 8

kiss, 7

fucking, 7

minaj, 5

pink, 5

red, 5

然后再來看一下喇嘛

nigga, 43

shit, 41

down, 40

life, 39

fuck, 37

bitch, 31

man, 31

one, 31

niggas, 31

love, 30

said, 30

look, 30

em, 29 #我覺得這可能是'em而不是真的emmmm吧畢竟英語里都沒有這個說法

take, 29

feel, 28

god, 27

yeah, 27

world, 27

black, 27

就真的也沒好到哪里去,不過這么簡單粗暴的概括語言并不能說明什么,僅供娛樂吧哈哈哈哈。

ps說真的急需一個新project給我玩,可是一時半會兒想不出什么好玩的,想做的微博bot之類的又太超出我現有水平,苦惱.jpg

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/538507.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/538507.shtml
英文地址,請注明出處:http://en.pswp.cn/news/538507.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

使用循環鏈表實現一個通訊錄的管理程序_【LeetCode鏈表題型總結】

點擊上方藍字,關注公眾號鏈表概念的講解鏈表是什么鏈表是一種線性數據結構,每個節點都存有數據,通過指針將各個節點鏈接在一起。鏈表的性質一致性: 每個節點有相同的數據結構,相同的數據大小,內存中占據相同的大小&…

win10 C盤超過50G?教你如何對C盤瘦身!

原文鏈接:http://blog.csdn.net/u012762305/article/details/53469446 點擊閱讀原文 ------------------------------------------- 本人C盤是128G SSD硬盤,Win10系統盤和一些常用的程序都裝在這個盤(特大程序除外),…

python的kite下載安裝及使用_Kite下載|Kite Python編程工具 V1.2020.1203.0 最新版下載 - 下載銀行...

Kite是一款專為Python打造的一款代碼補全軟件,如果你正在學習Python或是從事與Python相關的編程工作,那么這款軟件絕對是你的好幫手!其會智能判斷用戶想要輸入的每個代碼字段,并在所有庫中進行匹配相應的內容,如果看到…

layui前端時間戳轉化

https://blog.csdn.net/rightbeforethesix/article/details/80358890轉載于:https://www.cnblogs.com/newlangwen/p/9144204.html

單頁web應用是什么?它又會給傳統網站帶來哪些好處?

原文鏈接:http://blog.csdn.net/zuoninger/article/details/38842823 點擊閱讀原文 ---------------------------------------------------- 什么是單頁應用? 單頁應用是指在瀏覽器中運行的應用,它們在使用期間不會重新加載頁面。像所有的…

python圖像等比例壓縮_python使用pil進行圖像處理(等比例壓縮、裁剪)實例代碼

PIL中設計的幾個基本概念1.通道(bands):即使圖像的波段數,RGB圖像,灰度圖像以RGB圖像為例:>>>from PIL import Image>>>im Image.open(*.jpg) # 打開一張RGB圖像>>>im_bands im.getbands() # 獲取RG…

python的urllib四大模塊_Python常用的內建模塊4:urllib

urllib提供了一系列用于操作URL的功能Geturllib的request模塊可以非常方便的抓取URL的內容, 也就是發送一個GET請求到制定的頁面, 然后返回HTTP的響應:例如, 對豆瓣的一個URLhttps://api.douban.com/v2/book/2129650進行抓取, 并返回響應:from urllib import requestwith reque…

Linux 升級 Python 至 3.x

原文鏈接:http://blog.csdn.net/liang19890820/article/details/51079633 -------------------------------------------- 簡述 CentOS 7 中默認安裝了 Python,版本比較低(2.7.5),為了使用新版 3.x,需要對…

Sublime Text 3 配置python交互運行環境的快捷鍵

2019獨角獸企業重金招聘Python工程師標準>>> 使用Sublime Text 3能以輕量級的環境寫python腳本,運行python代碼。為了更加方便地調用python腳本,通過在Sublime Text 3中綁定快捷鍵的方式,實現一鍵調用python交互運行環境&#xff…

xftp如何搜索文件_頭條搜索站長平臺如何添加網站和sitemap文件?附圖文教程

頭條搜索站長平臺已經上線了,目前我們廣大站長都可以登錄該平臺后添加新網站和提交 sitemap 地圖文件,建議大家可以前往嘗試一下,多一個搜索平臺就多一條路,認為倒是挺好的。下面就跟大家簡單介紹頭條搜索站長平臺如何添加網站和提…

Angular4中常用管道

原文鏈接:http://blog.csdn.net/haijing1995/article/details/71404350 ----------------------------------------------------- Angular4中常用管道 通常我們需要使用管道實現對數據的格式化,Angular4中的管道和之前有了一些變化,下面說一…

mysql死鎖無法查詢_MySQL死鎖導致無法查詢

客服反饋后臺無法查詢,原因大概知道,是因為MySQL的事務產生了死鎖,以往都不知道是哪個事務鎖住了,只能很粗暴地重啟MySQL最近查找到一個方法,不用重啟MySQL,記錄如下登錄到MySQL,來看下有哪些My…

彩鉛練習,花船

圖片發自簡書App圖片發自簡書App

python 百度ocr識別_Python使用百度Ocr識別文字保存CSV

1.準備:1)Python開發環境, 筆者用的是3.7; 工具用的是Pycharm2)百度云后臺創建文字識別的應用, 獲取AppID, API key, Secret Key百度云后臺創建文字識別的應用3) 百度模塊pip install baidu-aip安裝百度模塊4) 要保存成csv需要用到pandas模塊pip Install pandas安裝…

chrome解決跨域(CORS)問題---chrome插件

1、chrome瀏覽器 chrome中跨域問題,可以安裝插件解決, 插件地址 https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi 地址需要翻墻 翻墻hosts:https://laod.cn/hosts/2017-google-host…

我的女朋友漏電了–論C++中的失敗(failure),缺陷(bug)和異常(exception)

先做個廣告置入,如果喜歡這篇文章,你可以到 zhaoyan.website/blog 去查看于此類似的C/C文章。 我承認有點標題黨了,不過這真的是一篇寫軟件的文章,所以如果你已經抽出了一張面巾紙,那么趁早再把它完美的放回去。這篇軟…

SQLplus 和mysql區別_mysql和oracle的區別有哪些

MySQL和Oracle都是流行的關系數據庫管理系統(RDBMS),在世界各地廣泛使用;大多數數據庫以類似的方式工作,但MySQL和Oracle的這里和那里總是存在一些差異的。本篇文章就給大家比較Oracle和MySQL,介紹Oracle和MySQL之間的區別&#x…

127.0.0.1與localhost的區別

2019獨角獸企業重金招聘Python工程師標準>>> 區別1: localhost也叫local ,正確的解釋是:本地服務器 127.0.0.1在windows等系統的正確解釋是:本機地址(本機服務器) 他們的解析通過本機的host文件,windows自動將localhost解析為127.…

一個項目經理的貪嗔癡

我有時候在想,自己到底是一個什么角色?產品經理?還是一個項目經理?或者只是一個技術經理。 身邊一些朋友說,自己想轉行做一個產品經理,做一個偉大的產品。我奉勸他們說還是省省吧,在這樣一個二三…

mysql 索引_MySQL之索引

索引查找算法BTREEBTREE查找算法演變B-TREE :普通 BTREE,平衡多路查找樹(B-Tree)BTREE :葉子節點雙向指針BTREE(B*TREE):枝節點的雙向指針普通B-TREE增強版BTREE(B*TREE)總結:從上圖看出,在BTree上有兩個頭…