网站创建域名,在百度上做网站怎么做,高级seo课程,教育类网站开发soup.select(.pc_temp_songlist ul li a)同样对歌曲时长的分析方法也如上#xff0c;对 select 的具体用法可参考如下#x1f517;#xff1a;Python中BeautifulSoup库的find_all、select用法三、爬取酷狗Top500的歌曲import requestsfrom bs4 import Beautif…soup.select(.pc_temp_songlist ul li a)同样对歌曲时长的分析方法也如上对 select 的具体用法可参考如下Python中BeautifulSoup库的find_all、select用法三、爬取酷狗Top500的歌曲import requestsfrom bs4 import BeautifulSoupimport json# 获取网页的HTML源码def getText(url):try:r requests.get(url, timeout30) # get()函数的参数url必须链接采用HTTP或HTTPS方式访问每次请求超时时间为30秒r.raise_for_status() # 返回的请求状态status_code不是200这个方法会产生一个异常r.encoding utf-8 # 对encoding属性赋值更改编码方式return r.textexcept:return # 解析HTML页面格式提取有用信息def getInfo(url):soup BeautifulSoup(getText(url), html.parser) # 创建一个BeautifulSoup对象songs soup.select(.pc_temp_songlist ul li a) # 获取包含“歌手-歌名”信息的标签times soup.select(.pc_temp_songlist ul li span .pc_temp_time) # 获取包含“歌曲时长”信息的标签for song, time in zip(songs, times):data {singer: song.get_text().split(-)[0],song title: song.get_text().split(-)[1],time: time.get_text().strip()}print(data)SONGS.append(data)SONGS []if __name__ __main__:urls [https://www.kugou.com/yy/rank/home/{}-8888.html.format(str(i)) for i in range(1, 24)]for url in urls:getInfo(url)print(歌曲数量, len(SONGS))# 爬取的数据以JSON文件格式保存with open(songs.json, w, encodingutf-8) as json_file:json_str json.dumps(SONGS, ensure_asciiFalse, indent4)json_file.write(json_str)最终生成的json文件格式如下 非常简单