`
maplye
  • 浏览: 114664 次
  • 来自: ...
社区版块
存档分类
最新评论

[转]Python下载百度新歌100的代码

阅读更多
#!/usr/bin/python 
#
 -*- coding: utf-8 -*- 
#
 Copyright (c) 2006 UbuntuChina <http://www.ubuntu.org.cn> 
#
 License: GPLv2 
#
 Author: oneleaf <oneleaf AT gmail.com> 

import httplib 
import re 
import urllib 
import os 
import locale 

def getdownurl(url): 
    urllist
=[] 
    conn 
= httplib.HTTPConnection('mp3.baidu.com'
    conn.request(
"GET",url) 
    response 
= conn.getresponse() 
    html
=response.read() 
    conn.close() 
    expression
='http://220.181.27.54/m(.*)</a>' 
    listSentence 
= re.findall(expression, html) 
    lineno
=
    
while lineno<len(listSentence): 
        mp3url
=re.search('title=(.*)onclick',listSentence[lineno]) 
        
if mp3url: 
           mp3url
=mp3url.group(0) 
           mp3url
=re.search('http(\S*)',mp3url) 
           
if mp3url: 
              mp3url
=mp3url.group(0) 
              
try
                  mp3url
=mp3url.decode('gbk'
              
except:pass 
              urllist.append(mp3url) 
        lineno
+=2 
    
return urllist 

def downmp3(url,author,name,filelist): 
    filename
=author+"-"+name; 
    
for i in filelist: 
        name
=unicode(i,locale.getpreferredencoding()) 
        
if name.find(filename) == 0: 
            
print u"文件已经下载,忽略。" 
            
return 1 
    urllists
=getdownurl(url) 
    
for i in urllists:        
        
print u"正在连接",i 
        
        ext
=i[-4:] 
        
try
            urlopen 
= urllib.URLopener() 
            fp
=urlopen.open(i) 
            data 
= fp.read() 
            fp.close() 
            filename
=filename+ext; 
            file
=open(filename,'w+b'
            file.write(data) 
            file.close() 
            
print u"下载成功!" 
            
return 1 
        
except
            
continue 
    
return 0 

if __name__ == "__main__"
    conn 
= httplib.HTTPConnection('list.mp3.baidu.com'
    conn.request(
"GET",'/list/newhits.html?id=1'
    response 
= conn.getresponse() 
    html
=response.read().decode('gbk'
    conn.close() 
    expression
='<a href="http://mp3.baidu.com/m(.*)</a>' 
    listSentence 
= re.findall(expression, html) 
    lineno
=
    
while lineno<len(listSentence): 
       url
=re.search('(.*)target',listSentence[lineno]) 
       url
='/m'+url.group(0)[:-8
       name
=re.search('blank>(.*)',listSentence[lineno]) 
       name
=name.group(0)[6:] 
       author
=re.search('blank>(.*)',listSentence[lineno+1]) 
       author
=author.group(0)[6:] 
       
print u"开始下载",author,name 
       filelist
=os.listdir('.'); 
       
if downmp3(url,author,name,filelist)==0: 
          
print u"下载",author,name,u'失败!' 
       lineno
+=2 
分享到:
评论

相关推荐

    java2python--java代码转python工具

    Java到Python的转换工具,如"java2python",是一个重要的软件开发辅助工具,它能够帮助程序员将已有的Java代码转换成Python代码,以便在Python环境中执行或进行进一步的开发工作。这种转换过程涉及到多种语言特性和...

    Python3.5.1百度云链接下载

    1. **下载**:首先,从提供的百度云链接下载 Python 3.5.1 的安装包。 2. **解压**:将下载的文件解压缩到一个合适的目录下。 3. **安装**: - 在 Windows 上,双击解压后的安装文件,按照向导提示完成安装。 - 在...

    基于python的百度网盘批量转存工具.zip

    基于python的百度网盘批量转存工具.zip基于python的百度网盘批量转存工具.zip基于python的百度网盘批量转存工具.zip基于python的百度网盘批量转存工具.zip基于python的百度网盘批量转存工具.zip基于python的百度网盘...

    python学习课件+python源码90个合集.7z

    002用Python设计第一个游戏(课件+源代码) 004改进我们的小游戏(课件+源代码) 005闲聊之Python的数据类型(课件+源代码) 007了不起的分支和循环(课件) 008了不起的分支和循环2(课件+源代码) 009了不起的分支...

    python转java

    在描述中提到的“python代码转java工具”,这可能是一款自动化工具,它尝试将 Python 代码解析并生成对应的 Java 代码。这类工具可能会对简单的 Python 代码转换做得很好,但对于复杂的逻辑或依赖于 Python 特性的...

    2023最新Python爬虫下载百度搜索结果图片(含操作方法)

    Python3 结合 Playwright实现对百度搜索结果的截屏。通过这个demo,结合一些定时脚本,可以实时或者按需获取自己想要的结果。 在此过程中,资源使用者可以了解到Playwright是一个强大的Python库,仅用一个API即可自动...

    PYTHON做贪吃蛇代码

    PYTHON做贪吃蛇代码 PYTHON做贪PYTHONPYTHON做贪吃蛇代码做贪吃蛇代码 吃蛇代码 PYTHON做贪吃蛇代码PYTHON做贪吃蛇代码PYPYTHON做贪吃蛇代码THON做贪吃蛇代码PYTHON做贪吃蛇代码PYTHON做PYTHON做贪吃蛇代码贪吃蛇...

    蓝桥杯国赛Python程序设计题目+代码.zip

    蓝桥杯国赛Python程序设计题目+代码.zip蓝桥杯国赛Python程序设计题目+代码.zip蓝桥杯国赛Python程序设计题目+代码.zip蓝桥杯国赛Python程序设计题目+代码.zip蓝桥杯国赛Python程序设计题目+代码.zip蓝桥杯国赛...

    基于python的百度云网盘爬虫

    【标题】"基于Python的百度云网盘爬虫"是一个项目,旨在教用户如何使用Python编程语言编写程序来抓取并下载百度云网盘上的公开资源。该项目涵盖了网络爬虫技术,结合了百度云盘的API接口,以及可能涉及的前端和后端...

    python爱心代码python爱心代码高级.zip

    python爱心代码高级python爱心代码python爱心代码高级.zippython爱心代码高级python爱心代码python爱心代码高级.zippython爱心代码高级python爱心代码python爱心代码高级.zippython爱心代码高级python爱心代码python...

    2023最新教程【樵夫教你学Python】Python全套教程 Python基础

    python基础课代码+文档2023最新教程【樵夫教你学Python】Python全套教程 Python基础python基础课代码+文档2023最新教程【樵夫教你学Python】Python全套教程 Python基础python基础课代码+文档2023最新教程【樵夫教你...

    Python-百度小程序转微信小程序

    本项目名为“Python-百度小程序转微信小程序”,其核心目标是实现从百度小程序到微信小程序的代码转换。这一过程涉及到多个技术点,包括对两种小程序开发框架的理解、Python脚本的编写以及代码的适配与迁移。 首先...

    百度.py python 爬取百度搜索结果,及安全验证问题

    python 爬取百度搜索结果,及安全验证问题

    爬虫工具辅助工具+curl命令转python代码+自动将网络请求转成python代码

    usage: curl2python.exe [-h] [-o OUTPUT] [-n NAME] input positional arguments: input 指定保存curl命令的文件路径。例子:D:\curl.txt optional arguments: -h, --help show this help message and exit ...

    Python中国象棋源代码(下载即用).zip

    Python中国象棋源代码(下载即用).zipPython中国象棋源代码(下载即用).zipPython中国象棋源代码(下载即用).zipPython中国象棋源代码(下载即用).zipPython中国象棋源代码(下载即用).zipPython中国象棋源代码...

    python趣味编程100例(99个)

    "Python趣味编程100例(99个)"是一个集合,包含了一系列精心设计的Python编程练习,旨在帮助初学者和有经验的程序员通过实践来增强技能。这个压缩包里的案例代码覆盖了Python的基础到进阶概念,旨在让学习过程更加...

    python基础教程视频教程百度云-python视频教程免费下载,百度云网盘资源,全套!....pdf

    Python是一种广泛使用的高级编程语言,尤其适合初学者入门。这套92天的Python视频教程涵盖了从基础到前端、Web框架再到项目实战的全方位内容,旨在让学习者从零基础逐步达到熟练掌握的程度。 教程首先从Python的...

    Python外星人大战完整代码

    Python外星人大战完全代码Python外星人大战完全代码Python外星人大战完全代码Python外星人大战完全代码Python外星人大战完全代码Python外星人大战完全代码Python外星人大战完全代码Python外星人大战完全代码Python...

Global site tag (gtag.js) - Google Analytics