吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6331|回复: 15
收起左侧

[Python 原创] [python]下载小伴龙网站的儿歌

  [复制链接]
reinhand 发表于 2018-9-17 16:14
本帖最后由 reinhand 于 2018-9-27 15:29 编辑

今天给儿子下载一些儿歌等到MP3,发现一个不错的网站http://www.youban.com/mp3/
11.jpg
资源还是挺多的嘛~~点开唐诗三百首进去看看
22.jpg
还挺多的,点开一个进去,可以看得到进去是简介,再点击立面的下载才到下载页面。。。一个一个下载太费事。。
仔细观察了一下,网站全是静态网页,以《春晓》为例,简介网址为http://www.youban.com/mp3-4300.html,下载网址为http://www.youban.com/mp3-d4300.html,只差一个d(管理员真懒。。)
再来看一下下载页面的源代码 33.jpg ,可以看到下载的真实地址就在源代码呢。。。再往上也有这个音频的名称,我们要的信息都有了,<a href="/mp3/">音频</a>><a href="/mp3-4300.html">春晓</a>这是存放名称的标签,有个href属性,记下
现在的问题时要批量下载,回到唐诗三百首专辑的页面查看原代码, 44.jpg ,我们要的地址出来了。。都在<a>标签里面,其中第二个<a>标签有个属性class="mp3PlayIco",而且
其他所有的子项网址都在。。好了,掏出利器开始收集网址吧,requests和beautifulsoup4模块
[Python] 纯文本查看 复制代码
import requests
from bs4 import BeautifulSoup
r = requests.get('http://www.youban.com/mp3-t4416.html')
soup = BeautifulSoup(r.text,'lxml')
a=soup.find_all('a',class_='mp3PlayIco')
urls=[]
nn=[]
for i in a:    
u = i['href'].split('/')    
urls.append(base+u[3].replace('mp3-','mp3-d'))    
nn.append('/'+u[3])

   #这里的nn存放的就是上面说到的存放名称标签的href属性的值
好了,url拿到了,开始下载,这里采用的单线程下载
[Python] 纯文本查看 复制代码
for i in range(len(a)):
    try:
        url1 = urls[i]
        c = requests.get(url1)
        soup = BeautifulSoup(c.text,'lxml')
        durl = soup.find_all('a',text=u'本地网通')[0]['href']
        savename = soup.find_all('a',href=nn[i])[0].text+'.mp3'
        r = requests.get(durl)
        with open(savename, "wb") as code:
            code.write(r.content)
        print 'Done'
    except:
        print url1

好啦,至此唐诗三百首专辑的所有MP3就下载完成啦~~

免费评分

参与人数 2吾爱币 +3 热心值 +2 收起 理由
music984 + 1 + 1 期待后续作品
wushaominkk + 2 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| reinhand 发表于 2018-11-11 10:27
w241357 发表于 2018-11-11 09:34
怎么批量采集下载它啊

代码都有,只不过是单合集,单线程下载~想全部采集全部,把合集名字做个列表传入下载就行,嫌慢就用多线程~~不过这些文件都不大,单合集的话单线程完全嗯呢该胜任
w241357 发表于 2018-11-11 11:53
reinhand 发表于 2018-11-11 10:27
代码都有,只不过是单合集,单线程下载~想全部采集全部,把合集名字做个列表传入下载就行,嫌慢就用多线 ...

大佬,有码吗?我不会写啊....
真宗王老吉凉茶 发表于 2018-9-17 16:57
wushaominkk 发表于 2018-9-17 16:57
请整理下排版!
music984 发表于 2018-9-17 17:00
回家好生研究一下lz的代码 我的入门的道路上渐行渐远了
流星的孤单 发表于 2018-9-18 08:34
路过,顶一个
唯殇啊 发表于 2018-9-20 21:40
楼主有下载好的合集吗
13242998660 发表于 2018-9-21 02:36
学习一下
 楼主| reinhand 发表于 2018-9-27 15:21
唯殇啊 发表于 2018-9-20 21:40
楼主有下载好的合集吗

木有。。。太多啦,只下载了一部分。。
 楼主| reinhand 发表于 2018-9-27 15:22

好的~~回头重新排版下
 楼主| reinhand 发表于 2018-9-27 15:23

这个真的不是很了解,可以采用动态js或者限制ip,不过这样只是让爬虫代码稍微复杂点而已、、
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-17 06:30

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表