作者:土木钟同学→→时间: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>&nbsp;(.*?)<br />',html.text,re.S)   #可能不存在或有很多,只取第一个if len(styles) == 0:style = '未知'       #当无信息时else:style = styles[0].strip()    #有多个时获取第一个,并去除首尾的空格time = re.findall('发行时间:</span>&nbsp;(.*?)<br />',html.text,re.S)[0].strip()   #获取第一个,并去除首尾的空格publishers = re.findall('出版者:</span>&nbsp;(.*?)<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>&nbsp;(.*?)<br />',html.text,re.S)   #可能不存在或有很多,只取第一个if len(styles) == 0:style = '未知'       #当无信息时else:style = styles[0].strip()    #有多个时获取第一个,并去除首尾的空格time = re.findall('发行时间:</span>&nbsp;(.*?)<br />',html.text,re.S)[0].strip()   #获取第一个,并去除首尾的空格publishers = re.findall('出版者:</span>&nbsp;(.*?)<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&amp;B 2008-12-19 華納 8.5
小宇宙 苏打绿 流行 2006-10-20 林暐哲音乐社 8.7
若你碰到他 蔡健雅 流行 2009-08-19 亚神音乐 8.0
Lady & Bird Lady &amp; 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
赤子 范晓萱&amp;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&amp;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&amp;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&amp;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&amp;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&amp;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&amp;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&amp;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&amp;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详细教程相关推荐

  1. Python爬虫学习之爬取豆瓣音乐Top250存入Excel表格中

    前言 目标网站:https://music.douban.com/top250 任务: 爬取豆瓣音乐Top250的歌曲名 爬取豆瓣音乐Top250的歌曲对应的表演者.发行时间和音乐流派(分别对应下图斜 ...

  2. 爬虫练习-爬取豆瓣音乐TOP250的数据

    前言: 爬取豆瓣音乐TOP250的数据,并将爬取的数据存储于MongoDB中 本文为整理代码,梳理思路,验证代码有效性--2020.1.1 环境: Python3(Anaconda3) PyCharm ...

  3. python实例豆瓣音乐代码_Python爬虫实战(3)-爬取豆瓣音乐Top250数据(超详细

    前言 首先我们先来回忆一下上两篇爬虫实战文章: 第一篇:讲到了requests和bs4和一些网页基本操作. 第二篇:用到了正则表达式-re模块 今天我们用lxml库和xpath语法来爬虫实战. 1.安 ...

  4. 利用python爬取豆瓣音乐_Python爬虫小白入门(七)爬取豆瓣音乐top250

    抓取目标: 豆瓣音乐top250的歌名.作者(专辑).评分和歌曲链接 使用工具: requests + lxml + xpath. 我认为这种工具组合是最适合初学者的,requests比python自 ...

  5. 爬取豆瓣音乐top250

    爬取豆瓣音乐并写入excel from urllib.request import urlopen,Request from bs4 import BeautifulSoup import time ...

  6. 爬取豆瓣音乐TOP250并写入Excel

    爬取豆瓣音乐写入Excel from urllib.request import Request, urlopen import bs4 import requests import re impor ...

  7. 爬取豆瓣音乐TOP250数据保存到csv文件和xls文件

    爬取的目标网址:https://music.douban.com/top250 利用lxml库,获取前10页的信息,需要爬取的信息包括歌曲名.表演者.流派.发行时间.评分和评论人数,把这些信息存到cs ...

  8. Python爬虫小白教程(二)—— 爬取豆瓣评分TOP250电影

    文章目录 前言 安装bs4库 网站分析 获取页面 爬取页面 页面分析 其他页面 爬虫系列 前言 经过上篇博客Python爬虫小白教程(一)-- 静态网页抓取后我们已经知道如何抓取一个静态的页面了,现在 ...

  9. python爬取豆瓣电影top250_【Python3爬虫教程】Scrapy爬取豆瓣电影TOP250

    今天要实现的就是使用是scrapy爬取豆瓣电影TOP250榜单上的电影信息. 步骤如下: 一.爬取单页信息 首先是建立一个scrapy项目,在文件夹中按住shift然后点击鼠标右键,选择在此处打开命令 ...

  10. 利用python爬取豆瓣电影top250

    利用python爬取豆瓣电影top250: 注:本内容只是作为个人学习记录 1.业务分析 进入网页https://movie.douban.com/top250 可以看见每部电影都呈现在眼前,点击电影 ...

最新文章

  1. 机器学习中的数学基础:(1)实际应用中矩阵特征值与特征向量的几何意义
  2. 直接插入排序算法实现思想个人理解
  3. Can't create table './store/#sql-b2c_1a.frm' (errno: 150)解决方法
  4. 民用报警服务技术浅谈
  5. python socket 说明
  6. 专家建议:维护边缘网络安全的五项原则
  7. Linux下配置tomcat+apr+native应对高并发
  8. 高级JAVA - 高并发下接口限流 Semaphore
  9. lamda 对比两个list_正式支持多线程!Redis 6.0与老版性能对比评测
  10. 【Arthas】Arthas Command处理流程
  11. linux用户态使用gpio中断方法
  12. mysql的jar包文件在哪找_数据库的jar在哪找
  13. <零售数据分析-Pandas> 通过环比销售和库存对产品进行分类
  14. xxm php,XXM个人知识管理工具 v6.0.5
  15. 汉语属于哪个语系_汉语,日语,韩语分别属于什么语系?
  16. vasp测试计算机,科学网—PWSCF 自洽计算、kpoints测试和ecut测试 - 叶小球的博文
  17. 基于Living Atlas数据为木里山体滑坡敏感性建模
  18. 情人节送男友什么有新意、2022送礼指南
  19. linux安装chrome浏览器并初步使用
  20. 更换elasticsearch数据存储目录

热门文章

  1. 毁人不倦-令人困惑的浏览器安全策略:同源策略
  2. 赠书 001 | 人啊。认识你自己
  3. android系统 通知管理,告别打扰 Android系统的通知管理
  4. python中print格式_python中print输出格式有哪些
  5. 根轨迹 matlab 怎么画一半儿,现有 1020 个西瓜,第一天卖一半多两个,以后每天都卖剩下的一半多两个,编程计算几天后能把所有西瓜都卖完? 请编程实现_学小易找答案...
  6. 星期五五–大数据,Doppio和假Linus Torvalds
  7. 【STM32】HAL库——ADC
  8. Python之使用代理服务器访问网页
  9. win10修改保存的git用户名和密码
  10. 移动端和pc端的区别html,pc端是什么意思(PC端和移动端有哪些区别?)