|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
代码如下:运行到album_get的时候会提示
Traceback (most recent call last):
File "E:\邓丽君\爬虫藏族音乐.py", line 50, in <module>
download_mp3(num = 10)
File "E:\邓丽君\爬虫藏族音乐.py", line 42, in download_mp3
album_name = album_get(abulm_url)
File "E:\邓丽君\爬虫藏族音乐.py", line 20, in album_get
album_name = a[0].split(':')[-1]
IndexError: list index out of range
- import requests
- import os,re
- from bs4 import BeautifulSoup
- def url_open(url):
- headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.84 Safari/537.36'}
- r = requests.get (url,headers = headers)
- html = r.text
- soup = BeautifulSoup(html,'lxml')
- return soup
- def save_mp3(mp3_name,album_name):
- pass
-
- def album_get(url):
- soup = url_open(url)
- a = soup.find_all(text = re.compile('专辑名称:'))
- album_name = a[0].split(':')[-1]
- return album_name
- def name_get(url):
- b = []
- soup = url_open(url)
- a = soup.find_all('a',href = re.compile('play'))
- for name in a:
- b.append(name.string)
- return b
-
- def download_mp3(folder = '音乐',num = 10):
- try:
- os.mkdir(folder)
- except FileExistsError:
- os.chdir(folder)
- url = 'http://www.25xz.com/Special/'
-
- for i in range(1,num):
- abulm_url = url +str(i)+'.shtml'
- album_name = album_get(abulm_url)
- song_list = name_get(abulm_url)
- for mp3_name in song_list:
- mp3_addrs = 'http://bama.25xz.com/'+str(album_name)+'/'+str(mp3_name)+'\.mp3'
- save_mp3(mp3_name,album_name)
-
- if __name__ == '__main__':
- download_mp3(num = 10)
复制代码
|
|