爬取豆瓣音乐Top250详细教程
作者:土木钟同学→→时间:2019.8.24
MongoDB数据库的使用
- pymongo:在python环境中创建数据库和集合,数据库相当于Excel文件,而集合相当于其中的表格。
- 目的:
- 1.创建数据库和集合
- 2.插入爬虫得到的数据
- 3.把集合导出为CSV文件
- 注意:全程不能关闭启动窗口(命令行窗口)
import pymongo #导入库用于在python环境中创建数据库和集合
client = pymongo.MongoClient('localhost',27017) #连接数据库,27017为本地服务器默认地址
mydb = client['mydb'] #新建mydb数据库,列表形式存放
test = mydb['test'] #新建test数据集合,列表形式存放
test.insert_one({'name':'Tom','sex':'男','grade':'95'
}) #插入数据,保证运行成功的前提是保证mongodb服务启动并连接,即不关闭命令行窗口
<pymongo.results.InsertOneResult at 0x23b9dbf19c8>
mongodb自带导出工具,通过在bin文件夹下打开命令行,输入以下命令可完成 集合 向 CSV文件 的导出:
- mongexport -d mydb -c test --csv -f name,sex,grade -o test.csv
- 其中:
- -d 表示数据库
- -c 表示集合(数据)
- -f 表示要导出的字段
- 成功后会在bin文件夹下导出test.csv文件
前期准备
- 用到的库:
- requests:请求网页
- lxml:解析网页
- re:正则表达式,用来提取数据
- 网页分析:
- 第一页:https://music.douban.com/top250 等价于 https://music.douban.com/top250?start=0
- 第二页:https://music.douban.com/top250?start=25
- 以此类推,每页25首歌,共10页,构造推导式:
- urls = [‘https://music.douban.com/top250?start={}’.format(i) for i in range(0,250,25)],其中参数三为步长。
- 网页结构观察:
- 先从主网页分析,通过审查元素找到每条音乐链接的结构,找到统一规则
- 构建xpath代码提取250首歌的详细页url,返回列表
- 使用循环依次读取列表中每个url,调用获取详细信息函数
- 写入到mongodb数据库(文档型)
- 需要的信息:
- 歌曲名:用xpath获取
- 表演者:用re获取,因为用xpath获取会出现个别错误,规则不统一
- 流派:用re获取,因为xpath比较乱,多个标签嵌套,还有乱码的符号
- 发行时间:用re获取,因为xpath比较乱,多个标签嵌套,还有乱码的符号
- 出版者:用re获取,因为xpath比较乱,多个标签嵌套,还有乱码的符号
- 评分:用xpath获取
详细代码解释
1.导入库
import requests #请求库
from lxml import etree #解析库
import re #提取库
import pymongo #数据库操作库
import time #防反爬库
2.数据库设置
client = pymongo.MongoClient('localhost',27017) #连接数据库,27017为本地服务器默认地址
mydb = client['mydb'] #新建mydb数据库,列表形式存放
doubanmusictop250 = mydb['doubanmusictop250'] #新建doubanmusictop250数据集合,列表形式存放
3.伪装浏览器设置
除了请求头还可以加入很多,在Network中的All中的Headers中可以看到
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36'+ '(KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 SE 2.X MetaSr 1.0'
} #加入请求头
4.获取所有歌曲url
#观察网页结构,获取250首歌曲的详细url
def get_url(url):html = requests.get(url,headers = headers) #发起请求parse = etree.HTML(html.text) #使用HTML模式解析网页源代码all_urls = parse.xpath('//a[@class='nbg']/@href') #从解析好的源码中按某一统一规则提取所有的歌曲url,组成一个集合,用列表存放for each_url in all_urls: #循环读取每首歌的urlget_informations(each_url) #调用获取歌曲详细信息的函数
5.获取每首歌url的详细信息
#观察网页结构,获取所需信息
def get_informations(url):html = requests.get(url,headers = headers) #发起请求parse = etree.HTML(html.text) #使用HTML模式解析网页源代码#开始获取各项所需信息,每一个信息都需要单独调试,慢慢摸索经验name = parse.xpath('//*[@id="wrapper"]/h1/span/text()')[0] #用xpath获取歌手信息#author = parse.xpath('//*[@id="info"]/span[1]/span/text()') #xpath并不是对所有适用,故用正则author = re.findall('表演者:.*?>(.*?)</a>',html.text,re.S)[0] #参数一为规则,二为网页源码,三为换行,[0]为获取第一个满足的信息styles = re.findall('<span class="p1">流派:</span> (.*?)<br />',html.text,re.S) #可能不存在或有很多,只取第一个if len(styles) == 0:style = '未知' #当无信息时else:style = styles[0].strip() #有多个时获取第一个,并去除首尾的空格time = re.findall('发行时间:</span> (.*?)<br />',html.text,re.S)[0].strip() #获取第一个,并去除首尾的空格publishers = re.findall('出版者:</span> (.*?)<br',html.text,re.S) #可能不存在或有很多,只取第一个if len(publishers) == 0:publisher = '未知' #当无信息时else:publisher = publishers[0].strip() #有多个时获取第一个,并去除首尾的空格score = parse.xpath('//*[@id="interest_sectl"]/div/div[2]/strong/text()')[0] #用xpath获取得分信息print(name,author,style,time,publisher,score) #看一下每一首歌的完整信息,用来检查错误info = {'name':name,'author':author,'style':style,'time':time,'publisher':publisher,'score':score} #组合成字典格式,方便插入数据库中doubanmusictop250.insert_one(info) #插入数据到mongodb数据库
6.定义主程序入口
if __name__ == '__main__':urls = ['https://music.douban.com/top250?start={}'.format(i) for i in range(0,250,25)] #构造url推导式,其中参数三为步长for url in urls: #依次读取每页网页urlget_url(url) #调用函数获取该网页所有歌曲(25首)的详细urltime.sleep(2) #运行一次,休眠2秒,防止封IP
完整代码
import requests #请求库
from lxml import etree #解析库
import re #提取库
import pymongo #数据库操作库
import time #防反爬库client = pymongo.MongoClient('localhost',27017) #连接数据库,27017为本地服务器默认地址
mydb = client['mydb'] #新建mydb数据库,列表形式存放
doubanmusictop250 = mydb['doubanmusictop250'] #新建doubanmusictop250数据集合,列表形式存放headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36'+ '(KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 SE 2.X MetaSr 1.0'
} #加入请求头#观察网页结构,获取250首歌曲的详细url
def get_url(url):html = requests.get(url,headers = headers) #发起请求parse = etree.HTML(html.text) #使用HTML模式解析网页源代码all_urls = parse.xpath('//a[@class="nbg"]/@href') #从解析好的源码中按某一统一规则提取所有的歌曲url,组成一个集合,用列表存放for each_url in all_urls: #循环读取每首歌的urlget_informations(each_url) #调用获取歌曲详细信息的函数#观察网页结构,获取所需信息
def get_informations(url):html = requests.get(url,headers = headers) #发起请求parse = etree.HTML(html.text) #使用HTML模式解析网页源代码#开始获取各项所需信息,每一个信息都需要单独调试,慢慢摸索经验name = parse.xpath('//*[@id="wrapper"]/h1/span/text()')[0] #用xpath获取歌手信息#author = parse.xpath('//*[@id="info"]/span[1]/span/text()') #xpath并不是对所有适用,故用正则author = re.findall('表演者:.*?>(.*?)</a>',html.text,re.S)[0] #参数一为规则,二为网页源码,三为换行,[0]为获取第一个满足的信息styles = re.findall('流派:</span> (.*?)<br />',html.text,re.S) #可能不存在或有很多,只取第一个if len(styles) == 0:style = '未知' #当无信息时else:style = styles[0].strip() #有多个时获取第一个,并去除首尾的空格time = re.findall('发行时间:</span> (.*?)<br />',html.text,re.S)[0].strip() #获取第一个,并去除首尾的空格publishers = re.findall('出版者:</span> (.*?)<br />',html.text,re.S) #可能不存在或有很多,只取第一个if len(publishers) == 0:publisher = '未知' #当无信息时else:publisher = publishers[0].strip() #有多个时获取第一个,并去除首尾的空格score = parse.xpath('//*[@id="interest_sectl"]/div/div[2]/strong/text()')[0] #用xpath获取得分信息print(name,author,style,time,publisher,score) #看一下每一首歌的完整信息,用来检查错误info = {'name':name,'author':author,'style':style,'time':time,'publisher':publisher,'score':score} #组合成字典格式,方便插入数据库中doubanmusictop250.insert_one(info) #插入数据到mongodb数据库if __name__ == '__main__':urls = ['https://music.douban.com/top250?start={}'.format(i) for i in range(0,250,25)] #构造url推导式,其中参数三为步长for url in urls: #依次读取每页网页urlget_url(url) #调用函数获取该网页所有歌曲(25首)的详细urltime.sleep(2) #运行一次,休眠2秒,防止封IP
We Sing. We Dance. We Steal Things. Jason Mraz 民谣 2008-05-13 Atlantic/WEA 9.1
Viva La Vida Coldplay 摇滚 2008-06-17 Capitol 8.7
华丽的冒险 陈绮贞 流行 2005-09-23 艾迴唱片 8.9
范特西 周杰伦 流行 2001-09-14 BMG 9.2
後。青春期的詩 五月天 摇滚 2008-10-23 相信音樂 8.8
是时候 孙燕姿 流行 2011-03-08 美妙音乐 8.6
Lenka Lenka 流行 2008-09-23 Epic 8.5
Start from Here 王若琳 爵士 2008-01-11 SONY BMG唱片 8.7
旅行的意义 陈绮贞 流行 2004-02-02 cheerego.com 9.2
太阳 陈绮贞 流行 2009-01-22 艾迴 8.6
Once (Soundtrack) Glen Hansard 原声 2007-05-22 Columbia 9.1
Not Going Anywhere Keren Ann 民谣 2004-08-24 Capitol/Blue Note 8.9
American Idiot Green Day 摇滚 2004-09-21 Wea Japan 8.9
思念是一种病 张震岳 Csun Yuk 流行 2007-07-06 滚石唱片 8.8
無與倫比的美麗 苏打绿 流行 2007-11-02 林暐哲音乐社 8.6
亲爱的...我还不知道 张悬 流行 2007-07-20 新力博德曼音樂娛樂股份有限公司 8.5
城市 张悬 流行 2009-05-22 索尼音樂 8.3
O Damien Rice 流行 2003 Vector Recordings 9.1
Wake Me Up When September Ends Green Day 摇滚 2005-06-13 Wea International 9.3
叶惠美 周杰伦 流行 2003-07-31 Sony Music 8.5
七里香 周杰伦 流行 2004 上海声像出版社 8.1
21 Adele 流行 2011-02-01 XL Recordings 9.0
My Life Will... 张悬 流行 2006-06-09 Sony BMG 8.6
寓言 王菲 流行 2000 EMI 9.3
你在煩惱什麼 苏打绿 流行 2011-11-11 林暐哲音乐社 8.9
感官/世界 林宥嘉 流行 2009-10-30 华研唱片 8.7
Nevermind Nirvana 摇滚 1991 Geffen Records 9.2
八度空间 周杰伦 流行 2002-07-19 湖南金锋音像出版社 8.5
Jay 周杰伦 流行 2000-11-13 BMG 8.9
Parachutes Coldplay 摇滚 2000-07-10 EMI 9.0
我要的幸福 孙燕姿 流行 2000-12-7 中国音乐家音像出版社 8.9
还是会寂寞 陈绮贞 流行 2000 魔岩唱片 9.0
Let Go Avril Lavigne 摇滚 2002 Arista 8.8
十一月的萧邦 周杰伦 流行 2005-11-01 上海声像出版社 7.9
橙月 方大同 放克/灵歌/R&B 2008-12-19 華納 8.5
小宇宙 苏打绿 流行 2006-10-20 林暐哲音乐社 8.7
若你碰到他 蔡健雅 流行 2009-08-19 亚神音乐 8.0
Lady & Bird Lady & Bird 民谣 2003 EMI 8.8
万能青年旅店 万能青年旅店 摇滚 2010-11-12 独立出品 9.1
Meteora Linkin Park 摇滚 2003-03-25 Warner Bros / Wea 9.0
Back To Bedlam James Blunt 流行 2004 Atlantic 8.9
苏打绿 苏打绿 流行 2005年9月 林暐哲音乐社 8.6
静茹&情歌 别再为他流泪 梁静茹 流行 2009-01-16 相信音樂 8.4
美妙生活 林宥嘉 流行 2011-05-06 华研国际 8.6
Le Fabuleux destin d'Amélie Poulain Yann Tiersen 原声 2001-04-23 Virgin Records 9.3
Joanna & 王若琳 王若琳 未知 2009-01-16 新力音樂 8.1
A Plea En Vendredi Tamas Wells 民谣 2006 Popboomerang 9.0
To Hebe 田馥甄 Hebe 流行 2010-09-03 华研国际 8.0
逆光 孙燕姿 流行 2007-03-22 EMI 8.3
只爱陌生人 王菲 流行 1999-09-10 中国唱片上海公司 9.3
Music For Tourists Chris Garneau 民谣 2007-01-23 Absolutely Kosher 8.7
The Moment 孙燕姿 流行 2003-08-22 Warner 9.0
七 陈奕迅 流行 2003-11-20 EEG 9.4
春·日光 苏打绿 摇滚 2009-05-08 林暐哲音乐社 8.0
100种生活 盧廣仲 民谣 2008-5-27 添翼創越工作室 8.3
崇拜 梁静茹 流行 2007-11-09 相信音乐 8.4
陈绮贞精选 陈绮贞 民谣 2005 中国康艺音像出版社 9.2
菊次郎の夏 Joe Hisaishi 原声 1999-05-19 Universal/Polydor 9.4
Fearless Taylor Swift 流行 2008-11-11 Big Machine 8.4
Life In Cartoon Motion Mika 流行 2007-02-05 Universal/Island 8.8
H³M 陈奕迅 流行 2009-03-23 环球 8.5
神秘嘉宾 林宥嘉 流行 2008-06-03 华研 8.4
Les Choristes Bruno Coulais 原声 2004-05-03 Nonesuch 9.4
赤子 范晓萱&100% 流行 2009-08-10 吃草的鱼 8.1
9 Damien Rice 民谣 2006-11-06 Warner Music Group 8.9
将爱 王菲 流行 2003 Sony Music 8.7
遇见我 曹方 流行 2005年12月 钛友文化 8.4
梵高先生 李志 民谣 2007-01-11 口袋唱片 8.9
Timeless 可啦思刻 方大同 放克/灵歌/R&B 2009-08-11 华纳唱片 8.3
依然范特西 周杰伦 流行 2006-09-05 新索音乐 7.7
风筝 孙燕姿 流行 2001-07-09 Warner 8.8
完美的一天 孙燕姿 流行 2005-10-07 华纳唱片 8.1
Say I Am You The Weepies 民谣 2006 Nettwerk Records 8.5
黑色柳丁 陶喆 流行 2002 Shock Records Co. Ltd 8.8
Under My Skin Avril Lavigne 摇滚 2004-05-12 Bmg 8.5
Stefanie 孙燕姿 流行 2004-10-1 珠影白天鹅音像出版社 8.6
The Fame Lady Gaga 电子 2008-08-19 Interscope 8.3
Mr. A-Z Jason Mraz 流行 2005-07-04 Elektra / Wea 9.0
为爱而生 五月天 流行 2006-12-28 滾石 8.4
Daniel Powter Daniel Powter 流行 2006 Warner Bros / Wea 8.6
I'm Yours Jason Mraz 民谣 2008-12-16 Atlantic (Warner) 9.4
在动物园散步才是正经事 My Little Airport 流行 2004-08-07 維港唱片 8.2
时光·漫步 许巍 Wei Xu 民谣 2002-12-01 步升音像 8.9
生如夏花 朴树 流行 2003-11-28 华纳音乐 8.6
我很忙 周杰伦 流行 2007-11-01 杰威尔音乐 7.3
夏 / 狂热 苏打绿 摇滚 2009-09-11 林暐哲音乐社 8.3
绝世名伶 范晓萱 爵士 2001-08-25 新艺宝 8.8
哼一首歌 等日落 曹方 流行 2009-11-11 大班音乐工作室 8.1
未完成 孙燕姿 流行 2003-01-10 Warner 8.6
OK Computer Radiohead 摇滚 1997 Capitol 9.2
Born to Die Lana Del Rey 流行 2012-01-31 IGA 8.5
The Wall Pink Floyd 摇滚 1979 Sony/Columbia 9.1
不要停止我的音乐 痛仰 摇滚 2008-10 音驰文化 8.6
Hybrid Theory Linkin Park 摇滚 2000 Warner Bros 8.9
MTV Unplugged in New York Nirvana 摇滚 1994-11-01 Geffen Records 9.5
After 17 陈绮贞 流行 2004年12月 cheerego 9.2
In Between Dreams Jack Johnson 民谣 2005-03-22 Umvd Labels 9.0
神的孩子都在跳舞 五月天 Mayday 流行 2004-11-05 滚石 8.9
离开地球表面Jump! 五月天 流行 2007-07-20 滾石國際音樂股份有限公司 8.7
不想放手 陈奕迅 流行 2008-06-30 新藝寶 8.3
我的歌声里 曲婉婷 流行 2010-02-24 Nettwerk 9.2
The Legend of 1900 Ennio Morricone 原声 1999-10-12 Sony 9.4
孤独的人是可耻的 张楚 摇滚 1994 魔岩唱片 9.1
徐佳瑩La La首张创作专辑 徐佳莹 流行 2009-05-29 亚神音乐 8.2
The Best Damn Thing Avril Lavigne 流行 2007-04-17 RCA Records 7.7
知足 just my pride 最真杰作选 五月天 摇滚 2005-11-18 滚石 9.1
1 The Beatles 摇滚 2000 Capitol 9.4
魔杰座 周杰伦 流行 2008-10-09 新力博德曼 6.9
X&Y Coldplay 摇滚 2005-06-07 Capitol 8.4
19 Adele 放克/灵歌/R&B 2008-01-28 Xl Recordings UK 8.3
我们在炎热与抑郁的夏天,无法停止抽烟 My Little Airport 流行 2007-10-10 维港音乐 8.1
时光机 五月天 摇滚 2003-11-11 滚石唱片 9.0
Yan Zi 孙燕姿 流行 2000-06-08 华纳唱片 9.0
Time Flies 陈奕迅 流行 2010-03-12 新藝寶 8.7
失败者的飞翔 陈绮贞 流行 2008-07-13 亚神音乐 8.6
My Love 田馥甄 流行 2011-09-02 华研唱片 8.0
亲亲 梁静茹 流行 2006-10-06 滚石 8.1
你王菲所以我王菲 王菲 流行 2002 EMI百代 9.4
Stranger Under My Skin 陈奕迅 流行 2011-02-22 新艺宝 8.6
Come Away with Me Norah Jones 爵士 2002 Blue Note Records 8.8
平凡之路 朴树 未知 2014-07-16 华谊 8.9
认了吧 陈奕迅 流行 2007-04-24 新藝寶 8.7
21st Century Breakdown Green Day 摇滚 2009-05-15 Reprise Records 8.5
神的游戏 張懸 流行 2012-08-10 索尼音乐 8.7
唱游 王菲 流行 1998 摩登天空BADHEAD 9.2
花的姿态:演唱会经典实录 陈绮贞 未知 2007-05-18 亞神唱片 9.2
我去2000年 朴树 流行 1999-1 麦田音乐 9.1
Young For You GALA 摇滚 2004 弄潮音乐 8.7
自选集 孙燕姿 流行 2002年1月 Warner 8.9
理性与感性 作品音乐会 李宗盛 Jonathan 流行 2007-09-28 滾石唱片 9.5
比天空还远 曹方 流行 2007-11-20 大班音乐工作室 8.5
黑梦 窦唯 摇滚 1994-10 魔岩唱片 9.2
介乎法國與旺角的詩意 My Little Airport 流行 2009-11-20 維港唱片 8.1
不能说的秘密 周杰倫 未知 2007-08-13 Sony BMG 8.7
丝路 梁静茹 Fish 流行 2005-9-16 滚石唱片 8.2
All The Lost Souls James Blunt 流行 2007-09-18 Wea 8.5
F.I.R. F.I.R. 流行 2004-04-29 珠影白天鹅音像出版社 8.6
上五楼的快活 陈奕迅 流行 2009-09-23 環球唱片 7.7
Minutes to Midnight Linkin Park 摇滚 2007-05-15 Warner Bros. 8.2
GOODBYE & HELLO 蔡健雅 流行 2007-10-19 亚神音乐 8.6
Someone Like You Adele 放克/灵歌/R&B 2011-01-24 XL Recordings 9.5
迟到千年 苏打绿 流行 2006-09-18 林暐哲音樂社 8.8
The Dark Side of the Moon Pink Floyd 摇滚 1973 Capitol 9.1
王菲 2001 王菲 流行 2001 中国唱片上海公司 9.1
夜空中最亮的星 逃跑计划 摇滚 2011-04-12 美丽世界音乐 9.5
追梦痴子心 GALA 摇滚 2011-03-24 東樂影音 8.8
宝贝 莫文蔚 流行 2010-07-26 环球唱片 7.9
黑白灰 陈奕迅 流行 2003 EEG 9.1
安和桥北 宋冬野 民谣 2013-08-26 摩登天空 8.7
Prisoner of Love 宇多田ヒカル 流行 2008-05-21 EMI MUSIC JAPAN(TO)(M) 9.2
Groupies 吉他手 陈绮贞 流行 2002-08-02 滾石唱片 9.1
Now The Day Is Over The Innocence Mission 民谣 2004 Badman Records 8.4
Apologize Timbaland 放克/灵歌/R&B 2007-11-06 Blackground Records/Interscope Records 9.2
阿菲正传 王菲 流行 2009-06-25 Universal/一間製作/正視音樂@TVB/香港電臺 9.4
跨时代 周杰伦 流行 2010-05-14 JVR Music 7.0
Leave 孙燕姿 流行 2002-5-21 Warner Music Taiwan 8.7
被禁忌的游戏 李志 民谣 2004-12 口袋唱片 8.8
What's Going On....? 陈奕迅 流行 2006 新艺宝 9.1
第二人生 末日版 五月天 流行 2011-12-20 相信音樂 8.9
樂之路 陶喆 流行 2003-08-08 金牌大風 9.0
It Won't Be Soon Before Long Maroon 5 流行 2007-05-22 A&M / Octone Records 8.2
如果你冷 张悬 民谣 2008-10-20 self-released 8.3
陌生人 蔡健雅 Tanya Chua 流行 2003-06-00 Warner Music Taiwan Ltd 8.7
浮躁 王菲 流行 1996 新艺宝 9.2
C'est La Vie 自然卷 民谣 2004 风和日丽唱片行 8.2
在一起 刘若英 流行 2010-04-16 相信音乐 7.8
These Friends Of Mine Rosie Thomas 民谣 2007-03-13 Nettwerk Records 8.7
陪我歌唱 苏打绿 未知 2008 新汇集团上海音像公司 9.1
It's Not Me, It's You Lily Allen 流行 2009-02-09 EMI 8.5
The Rose~I Love Cinemas~ 手嶌葵 流行 2008-03-05 Yamaha Music 9.2
我爱南京 李志 民谣 2009-10-16 未知 8.6
消失的光年 大乔小乔 民谣 2007-07-12 九洲音像出版公司 8.2
还有别的办法吗 范晓萱 流行 2004 林暐哲音乐社 8.7
日光倾城 卡奇社 流行 2007-04-20 中国音楽家音像出版社 8.1
A Little Love 冯曦妤 流行 2008-11-20 Click Music Ltd. 8.4
Yellow Coldplay 摇滚 2000-07-03 EMI Int'l 9.3
Hopes And Fears Keane 摇滚 2004 Interscope Records 8.9
U87 陈奕迅 流行 2005-06-07 新艺宝 9.3
Lady Sleep Maximilian Hecker 民谣 2005 Kitty Yo 8.8
天空の城ラピュタ サウンドトラック 飛行石の謎 久石譲(Joe Hisaishi) 原声 1993-12-21 Studi 9.5
新长征路上的摇滚 崔健 摇滚 1989 中国国际广播音像出版社 9.2
小飞行 棉花糖 民谣 2009-05-01 亚神音乐 7.9
春生 好妹妹乐队 民谣 2012-07-01 春生工作室 8.8
讓我想一想 陈绮贞 民谣 1998-07-14 滚石唱片 9.0
未来 方大同 放克/灵歌/R&B 2007-12-28 华纳 8.3
爱爱爱 方大同 流行 2006-12 华纳 8.6
世界 逃跑计划 摇滚 2011-12-31 中国科学文化音像出版社有限公司 9.0
七天 盧廣仲 民谣 2009-10-30 添翼创越 7.8
Nirvana Nirvana 摇滚 2002-10-29 Interscope 9.2
A Rush of Blood to the Head Coldplay 摇滚 2002 Capitol 8.6
The Velvet Underground & Nico The Velvet Underground 摇滚 1967-04 Polydor / Pgd 9.0
Love The Way You Lie Eminem 说唱 2010-08-20 Interscope (Universal) 9.3
天空 王菲 流行 1994 新艺宝/福茂唱片 9.3
The Boat That Rocked Original Soundtrack 原声 2009-03-30 Mercury 9.2
(What's The Story) Morning Glory? Oasis 摇滚 1995 Creation 9.2
PUSSY 陈绮贞 民谣 2007-02-08 Cheerego 8.7
呼吸 Salyu 原声 2001 Toy's Factory 9.0
Fallen Evanescence 摇滚 2003 Wind-Up 8.5
黑豹 黑豹 摇滚 1992-12-01 未知 9.1
十年一刻 苏打绿 流行 2010-08-27 林暐哲音乐社 8.8
恋爱的力量 梁静茹 流行 2003年3月 江西文化音像出版社 8.9
Suede Suede 摇滚 1993 Nude Records 8.9
The Bends Radiohead 摇滚 1995 Capitol 9.1
琵琶相 林海 轻音乐 2004 風潮有聲出版有限公司 9.3
? 陈奕迅 流行 2011-11-11 环球 8.0
少年故事 彭坦 流行 2007-07-23 太合麦田 8.0
黑暗之光 雷光夏 民谣 2006-12-01 Sony Music 8.8
我要我们在一起 范晓萱 流行 1999-11-1 福茂唱片 8.7
人生海海 五月天 摇滚 2001-07-06 滚石 9.2
Maybe I'm Dreaming Owl City 流行 2008-03-18 Universal Republic 8.4
工体东路没有人 李志 民谣 2009-01-22 MicroMu 9.0
Let It Be The Beatles 摇滚 1990-10-25 Capitol 9.3
Alright,Still Lily Allen 流行 2006 EMI/Regal 8.3
大小說家 林宥嘉 流行 2012-06-22 華研國際 7.9
越长大越孤单 牛奶@咖啡 流行 2008-03-18 摩登天空 7.6
燕尾蝶 梁静茹 流行 2004 国际文化交流音像出版社 8.0
原谅我就是这样的女生 戴佩妮 流行 2009-05-16 環球 7.6
传奇 王菲 民谣 2010-11-05 中国科学文化音像出版社 9.2
Under the Radar Daniel Powter 流行 2008-10-14 Warner Bros. 8.3
知足 MV / Karaoke DVD 五月天 流行 2006 滚石 9.2
我的歌声里 曲婉婷 流行 2012-07-01 星外星唱片 7.7
王菲 王菲 流行 1997-09-30 EMI 9.2
信仰在空中飘扬 汪峰 摇滚 2009-07-25 大国文化 8.7
[i] 莫文蔚 流行 2002-04-29 新力唱片 8.7
Songs About Jane Maroon 5 流行 2002 Bmg Int'l 8.5
Back To Black Amy Winehouse 放克/灵歌/R&B 2006-11-30 Island 8.5
Demo 3 陈绮贞 流行 2001-11-09 魔岩唱片 9.1
克卜勒 孙燕姿 流行 2014-02-27 环球唱片 8.4
E=MC² Mariah Carey 流行 2008-04-16 Island 8.5
9 Crimes Damien Rice 民谣 2006-11-27 Warner Classics UK 9.4
如果有一件事是重要的 陈珊妮 流行 2008-11-22 大樂音樂企業社 8.2
赤裸裸 郑钧 摇滚 1994 红星音乐生产社 8.8
阿岳正传 张震岳 流行 2004-06-24 滚石唱片 9.0
3颗猫饼干 朱玫玲 未知 2004/04/26 Wind Records Co.Ltd. 风潮有声出版有限公司 9.1
21 Guns Green Day 未知 2009-07-14 101 DISTRIBUTION 9.2
看我72变 蔡依林 Jolin Tsai 流行 2003-03-07 上海声像出版社 8.2
第二人生 明日版 五月天 流行 2011-12-20 相信音樂 9.0
Definitely Maybe Oasis 摇滚 1994-08-30 Sony 9.0
First Love 宇多田ヒカル 流行 1999 toshiba EMI 9.1
阿密特 张惠妹 流行 2009-06-26 金牌大風 7.7
心·跳 王力宏 Leehom Wang 流行 2008-12-26 新索音乐 7.1
xx The xx 摇滚 2009-08-17 Young Turks 8.7
回蔚 莫文蔚 流行 2009-06-23 北京东方影音公司 8.0
如果看見地獄,我就不怕魔鬼 Tizzy Bac 流行 2009-02-13 彎的音樂 8.1
我们是五月天 五月天 未知 2003年4月17日 滚石唱片 9.3
王妃 萧敬腾 流行 2009-07-17 華納音樂 7.7
Poker Face Lady Gaga 未知 September 23, 2008 Streamline, Kon Live, Interscope, Cherrytree 8.7
唐朝 唐朝 摇滚 1992-12 魔岩唱片 9.0
寻找周杰伦 周杰伦 流行 2003-12-1 上海声像出版社 8.5
她说 林俊杰 流行 2010-12-08 海蝶音乐 7.7
当被反爬检测时可用手机热点更改IP即可继续爬虫~
不知道为什么数据库中有很多多余信息,回头再检查下,好困~
运行真的慢,渣渣电脑太破,下次学习多线程再买台好电脑吧。
其实多余信息是之前爬取的,没有删除掉而已,吓我一跳,我还以为是什么BUG。
从数据库导出为csv文件
mongoexport -d mydb -c doubanmusictop250 --csv -f name,author,style,time,publisher,score -o Topmusic250.csv
查看导出的csv文件
import pandas as pd
pd.read_csv('Topmusic250.csv')
name | author | style | time | publisher | score | |
---|---|---|---|---|---|---|
0 | We Sing. We Dance. We Steal Things. | Jason Mraz | 民谣 | 2008-05-13 | Atlantic/WEA | 9.1 |
1 | Viva La Vida | Coldplay | 摇滚 | 2008-06-17 | Capitol | 8.7 |
2 | 华丽的冒险 | 陈绮贞 | 流行 | 2005-09-23 | 艾迴唱片 | 8.9 |
3 | 范特西 | 周杰伦 | 流行 | 2001-09-14 | BMG | 9.2 |
4 | 後。青春期的詩 | 五月天 | 摇滚 | 2008-10-23 | 相信音樂 | 8.8 |
5 | 是时候 | 孙燕姿 | 流行 | 2011-03-08 | 美妙音乐 | 8.6 |
6 | Lenka | Lenka | 流行 | 2008-09-23 | Epic | 8.5 |
7 | Start from Here | 王若琳 | 爵士 | 2008-01-11 | SONY BMG唱片 | 8.7 |
8 | 旅行的意义 | 陈绮贞 | 流行 | 2004-02-02 | cheerego.com | 9.2 |
9 | 太阳 | 陈绮贞 | 流行 | 2009-01-22 | 艾迴 | 8.6 |
10 | Once (Soundtrack) | Glen Hansard | 原声 | 2007-05-22 | Columbia | 9.1 |
11 | Not Going Anywhere | Keren Ann | 民谣 | 2004-08-24 | Capitol/Blue Note | 8.9 |
12 | American Idiot | Green Day | 摇滚 | 2004-09-21 | Wea Japan | 8.9 |
13 | 思念是一种病 | 张震岳 Csun Yuk | 流行 | 2007-07-06 | 滚石唱片 | 8.8 |
14 | 無與倫比的美麗 | 苏打绿 | 流行 | 2007-11-02 | 林暐哲音乐社 | 8.6 |
15 | 亲爱的...我还不知道 | 张悬 | 流行 | 2007-07-20 | 新力博德曼音樂娛樂股份有限公司 | 8.5 |
16 | 城市 | 张悬 | 流行 | 2009-05-22 | 索尼音樂 | 8.3 |
17 | O | Damien Rice | 流行 | 2003 | Vector Recordings | 9.1 |
18 | Wake Me Up When September Ends | Green Day | 摇滚 | 2005-06-13 | Wea International | 9.3 |
19 | 叶惠美 | 周杰伦 | 流行 | 2003-07-31 | Sony Music | 8.5 |
20 | 七里香 | 周杰伦 | 流行 | 2004 | 上海声像出版社 | 8.1 |
21 | 21 | Adele | 流行 | 2011-02-01 | XL Recordings | 9.0 |
22 | My Life Will... | 张悬 | 流行 | 2006-06-09 | Sony BMG | 8.6 |
23 | 寓言 | 王菲 | 流行 | 2000 | EMI | 9.3 |
24 | 你在煩惱什麼 | 苏打绿 | 流行 | 2011-11-11 | 林暐哲音乐社 | 8.9 |
25 | 感官/世界 | 林宥嘉 | 流行 | 2009-10-30 | 华研唱片 | 8.7 |
26 | Nevermind | Nirvana | 摇滚 | 1991 | Geffen Records | 9.2 |
27 | 八度空间 | 周杰伦 | 流行 | 2002-07-19 | 湖南金锋音像出版社 | 8.5 |
28 | Jay | 周杰伦 | 流行 | 2000-11-13 | BMG | 8.9 |
29 | Parachutes | Coldplay | 摇滚 | 2000-07-10 | EMI | 9.0 |
... | ... | ... | ... | ... | ... | ... |
220 | 我的歌声里 | 曲婉婷 | 流行 | 2012-07-01 | 星外星唱片 | 7.7 |
221 | 王菲 | 王菲 | 流行 | 1997-09-30 | EMI | 9.2 |
222 | 信仰在空中飘扬 | 汪峰 | 摇滚 | 2009-07-25 | 大国文化 | 8.7 |
223 | [i] | 莫文蔚 | 流行 | 2002-04-29 | 新力唱片 | 8.7 |
224 | Songs About Jane | Maroon 5 | 流行 | 2002 | Bmg Int'l | 8.5 |
225 | Back To Black | Amy Winehouse | 放克/灵歌/R&B | 2006-11-30 | Island | 8.5 |
226 | Demo 3 | 陈绮贞 | 流行 | 2001-11-09 | 魔岩唱片 | 9.1 |
227 | 克卜勒 | 孙燕姿 | 流行 | 2014-02-27 | 环球唱片 | 8.4 |
228 | E=MC² | Mariah Carey | 流行 | 2008-04-16 | Island | 8.5 |
229 | 9 Crimes | Damien Rice | 民谣 | 2006-11-27 | Warner Classics UK | 9.4 |
230 | 如果有一件事是重要的 | 陈珊妮 | 流行 | 2008-11-22 | 大樂音樂企業社 | 8.2 |
231 | 赤裸裸 | 郑钧 | 摇滚 | 1994 | 红星音乐生产社 | 8.8 |
232 | 阿岳正传 | 张震岳 | 流行 | 2004-06-24 | 滚石唱片 | 9.0 |
233 | 3颗猫饼干 | 朱玫玲 | 未知 | 2004/04/26 | Wind Records Co.Ltd. 风潮有声出版有限公司 | 9.1 |
234 | 21 Guns | Green Day | 未知 | 2009-07-14 | 101 DISTRIBUTION | 9.2 |
235 | 看我72变 | 蔡依林 Jolin Tsai | 流行 | 2003-03-07 | 上海声像出版社 | 8.2 |
236 | 第二人生 明日版 | 五月天 | 流行 | 2011-12-20 | 相信音樂 | 9.0 |
237 | Definitely Maybe | Oasis | 摇滚 | 1994-08-30 | Sony | 9.0 |
238 | First Love | 宇多田ヒカル | 流行 | 1999 | toshiba EMI | 9.1 |
239 | 阿密特 | 张惠妹 | 流行 | 2009-06-26 | 金牌大風 | 7.7 |
240 | 心·跳 | 王力宏 Leehom Wang | 流行 | 2008-12-26 | 新索音乐 | 7.1 |
241 | xx | The xx | 摇滚 | 2009-08-17 | Young Turks | 8.7 |
242 | 回蔚 | 莫文蔚 | 流行 | 2009-06-23 | 北京东方影音公司 | 8.0 |
243 | 如果看見地獄,我就不怕魔鬼 | Tizzy Bac | 流行 | 2009-02-13 | 彎的音樂 | 8.1 |
244 | 我们是五月天 | 五月天 | 未知 | 2003年4月17日 | 滚石唱片 | 9.3 |
245 | 王妃 | 萧敬腾 | 流行 | 2009-07-17 | 華納音樂 | 7.7 |
246 | Poker Face | Lady Gaga | 未知 | September 23, 2008 | Streamline, Kon Live, Interscope, Cherrytree | 8.7 |
247 | 唐朝 | 唐朝 | 摇滚 | 1992-12 | 魔岩唱片 | 9.0 |
248 | 寻找周杰伦 | 周杰伦 | 流行 | 2003-12-1 | 上海声像出版社 | 8.5 |
249 | 她说 | 林俊杰 | 流行 | 2010-12-08 | 海蝶音乐 | 7.7 |
250 rows × 6 columns
爬取豆瓣音乐Top250详细教程相关推荐
- Python爬虫学习之爬取豆瓣音乐Top250存入Excel表格中
前言 目标网站:https://music.douban.com/top250 任务: 爬取豆瓣音乐Top250的歌曲名 爬取豆瓣音乐Top250的歌曲对应的表演者.发行时间和音乐流派(分别对应下图斜 ...
- 爬虫练习-爬取豆瓣音乐TOP250的数据
前言: 爬取豆瓣音乐TOP250的数据,并将爬取的数据存储于MongoDB中 本文为整理代码,梳理思路,验证代码有效性--2020.1.1 环境: Python3(Anaconda3) PyCharm ...
- python实例豆瓣音乐代码_Python爬虫实战(3)-爬取豆瓣音乐Top250数据(超详细
前言 首先我们先来回忆一下上两篇爬虫实战文章: 第一篇:讲到了requests和bs4和一些网页基本操作. 第二篇:用到了正则表达式-re模块 今天我们用lxml库和xpath语法来爬虫实战. 1.安 ...
- 利用python爬取豆瓣音乐_Python爬虫小白入门(七)爬取豆瓣音乐top250
抓取目标: 豆瓣音乐top250的歌名.作者(专辑).评分和歌曲链接 使用工具: requests + lxml + xpath. 我认为这种工具组合是最适合初学者的,requests比python自 ...
- 爬取豆瓣音乐top250
爬取豆瓣音乐并写入excel from urllib.request import urlopen,Request from bs4 import BeautifulSoup import time ...
- 爬取豆瓣音乐TOP250并写入Excel
爬取豆瓣音乐写入Excel from urllib.request import Request, urlopen import bs4 import requests import re impor ...
- 爬取豆瓣音乐TOP250数据保存到csv文件和xls文件
爬取的目标网址:https://music.douban.com/top250 利用lxml库,获取前10页的信息,需要爬取的信息包括歌曲名.表演者.流派.发行时间.评分和评论人数,把这些信息存到cs ...
- Python爬虫小白教程(二)—— 爬取豆瓣评分TOP250电影
文章目录 前言 安装bs4库 网站分析 获取页面 爬取页面 页面分析 其他页面 爬虫系列 前言 经过上篇博客Python爬虫小白教程(一)-- 静态网页抓取后我们已经知道如何抓取一个静态的页面了,现在 ...
- python爬取豆瓣电影top250_【Python3爬虫教程】Scrapy爬取豆瓣电影TOP250
今天要实现的就是使用是scrapy爬取豆瓣电影TOP250榜单上的电影信息. 步骤如下: 一.爬取单页信息 首先是建立一个scrapy项目,在文件夹中按住shift然后点击鼠标右键,选择在此处打开命令 ...
- 利用python爬取豆瓣电影top250
利用python爬取豆瓣电影top250: 注:本内容只是作为个人学习记录 1.业务分析 进入网页https://movie.douban.com/top250 可以看见每部电影都呈现在眼前,点击电影 ...
最新文章
- 机器学习中的数学基础:(1)实际应用中矩阵特征值与特征向量的几何意义
- 直接插入排序算法实现思想个人理解
- Can't create table './store/#sql-b2c_1a.frm' (errno: 150)解决方法
- 民用报警服务技术浅谈
- python socket 说明
- 专家建议:维护边缘网络安全的五项原则
- Linux下配置tomcat+apr+native应对高并发
- 高级JAVA - 高并发下接口限流 Semaphore
- lamda 对比两个list_正式支持多线程!Redis 6.0与老版性能对比评测
- 【Arthas】Arthas Command处理流程
- linux用户态使用gpio中断方法
- mysql的jar包文件在哪找_数据库的jar在哪找
- <零售数据分析-Pandas> 通过环比销售和库存对产品进行分类
- xxm php,XXM个人知识管理工具 v6.0.5
- 汉语属于哪个语系_汉语,日语,韩语分别属于什么语系?
- vasp测试计算机,科学网—PWSCF 自洽计算、kpoints测试和ecut测试 - 叶小球的博文
- 基于Living Atlas数据为木里山体滑坡敏感性建模
- 情人节送男友什么有新意、2022送礼指南
- linux安装chrome浏览器并初步使用
- 更换elasticsearch数据存储目录
热门文章
- 毁人不倦-令人困惑的浏览器安全策略:同源策略
- 赠书 001 | 人啊。认识你自己
- android系统 通知管理,告别打扰 Android系统的通知管理
- python中print格式_python中print输出格式有哪些
- 根轨迹 matlab 怎么画一半儿,现有 1020 个西瓜,第一天卖一半多两个,以后每天都卖剩下的一半多两个,编程计算几天后能把所有西瓜都卖完? 请编程实现_学小易找答案...
- 星期五五–大数据,Doppio和假Linus Torvalds
- 【STM32】HAL库——ADC
- Python之使用代理服务器访问网页
- win10修改保存的git用户名和密码
- 移动端和pc端的区别html,pc端是什么意思(PC端和移动端有哪些区别?)