最近闲来无事,无意间就看到了百度音乐,于是就写了一个小爬虫来爬取其音乐。
使用的模块:urllib2,beautifulsoup
urllib2的使用链接:https://docs.python.org/2/library/urllib2.html#
beautifusoup的使用链接https://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html
首先我们分析网页:
整个爬虫的主人口链接:http://music.baidu.com/tag
打开该链接的页面,分类标签和分类的链接的html代码如下
获取的Python代码如下
针对每一个分类获取其相关的所有歌曲,随便打开一个分类页面进行分析
获取所有歌曲的Python代码如下
#获取该页面的所有歌曲的内容
def getAllMusic(sourceURL):
print 'getAllMusic start sourceURL='+sourceURL
#获取页面数量
sURL=sourceURL+'?start=0&size=20&third_type=0'
htmlContent=getHTML(sURL)
soup=BeautifulSoup(htmlContent,'lxml')
aLists=soup.find_all('div','page-inner')
if aLists:
aSoup = BeautifulSoup(str(aLists), 'lxml')
pageNumberLists = aSoup.find_all('a')
print pageNumberLists
if pageNumberLists:
aStr=pageNumberLists[len(pageNumberLists)-2]
print 'aStr='+str(aStr)
pageASoup=BeautifulSoup(str(aStr),'lxml')
pageNumber=int(pageASoup.find('a').get_text())
else:
pageNumber=0
else:
pageNumber=0
print 'pageNumber='+str(pageNumber)
#获取该类型的所有歌曲
count = 0
for i in range(0,pageNumber+