Python-爬取百度音乐

这篇博客介绍了如何使用Python的urllib2和BeautifulSoup模块爬取百度音乐的歌曲信息。作者首先分析了网页结构,然后展示了获取分类链接和歌曲链接的Python代码片段。最后,提供了整个爬虫的完整代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近闲来无事,无意间就看到了百度音乐,于是就写了一个小爬虫来爬取其音乐。

使用的模块: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+
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值