python爬⾍——爬取酷狗⾳乐top500(BeautifulSoup使⽤⽅法)酷狗⾳乐Top500
酷狗top500
进⼊,并按F12打开开发者⼯具(本⽂以⽕狐浏览器为例)
我们开始审查元素,在查看器中观察⽹页源代码,或者右键查看页⾯源代码,看源代码中是否有我们想要的信息。
我们可以在这⾥看到歌单信息,在ul标签下正好有22条li个标签,正好是页⾯中的22⾸歌。因此我们只需获取这些个li标签,就能获取酷狗top信息。
但这只是⼀页信息,我们看看第⼆页是否也是如此
但是好像不能点击下⼀页啊,需要我们下载客户端。不要真的下载客户端查看,因为我们是程序员,哈哈我们尝试改⼀下⽹址信息。
我们发现这个办法是真的可以,我们尝试⼀下第三页,第四页,都能够打开。这样们也到了所有的⽹址。可以将500⾸全部遍历出来。⼀共是23页.
我们已经将所有的需求全部分析出来了,接下来就是利⽤python获取这些信息。⽤到的模块有requests,BeautifulSoup,time。
只需少量的代码,便可实现我们的需求。我们先看代码
完整代码
import time
import requests
from bs4 import BeautifulSoup
headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:58.0) Gecko/20100101 Firefox/58.0'}
def top(url):
html = (url, headers=headers)
soup=,'lxml')
No = soup.select('.pc_temp_num')
titles = soup.select('.pc_temp_songname')
href = soup.select('.pc_temp_songname')
time = soup.select('.pc_temp_time')
for No,titles,time,href in zip(No,titles,time,href):
data={
'NO':No.get_text().strip(),
'titles':_text(),
'time':_text().strip(),
'href':('href')        }导航页源码
print(data)
if __name__=='__main__':
urls = {'www.kugou/yy/rank/home/{}-8888.html'.format(str(i)) for i in range(1,24)}
for url in urls:
time.sleep(5)
top(url)
既然我们⽤到BeautifulSoup,我在这⾥就简单介绍⼀下这个模块。
BeautifulSoup
1.简介
Beautiful Soup提供⼀些简单的、python式的函数⽤来处理导航、搜索、修改分析树等功能。它是⼀个⼯具箱,通过解析⽂档为⽤户提供需要抓取的数据,因为简单,所以不需要多少代码就可以写出⼀个完整的应⽤程序。Beautiful Soup⾃动将输⼊⽂档转换为Unicode编码,输出⽂档转换为utf-8编码。你不需要考虑编码⽅式,除⾮⽂档没有指定⼀个编码⽅式,这时,Beautiful Soup就不能⾃动识别编码⽅式了。然后,你仅仅需要说明⼀下原始编码⽅式就可以了。
Beautiful Soup已成为和lxml、html6lib⼀样出⾊的python解释器,为⽤户灵活地提供不同的解析策略或强劲的速度。
2.安装
pip install BeautifulSoup4
easy_install BeautifulSoup4
3.创建BeautifulSoup对象
⾸先应该导⼊BeautifulSoup类库 from bs4 import BeautifulSoup
下⾯开始创建对像,在开始之前为了⽅便演⽰,先创建⼀个html⽂本,如下:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。