最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python實現(xiàn)的下載8000首兒歌的代碼分享

 更新時間:2014年11月21日 08:58:30   投稿:junjie  
這篇文章主要介紹了Python實現(xiàn)的下載8000首兒歌的代碼分享,本文直接給出實現(xiàn)代碼,下載的是有伴網(wǎng)的資源,需要的朋友可以參考下

下載8000首兒歌的python的代碼:

復制代碼 代碼如下:

#-*- coding: UTF-8 -*-

from pyquery import PyQuery as py
from lxml import etree
import urllib
import re
import os
import sys
import logging

def format(filename):
    tuple=(' ',''','\'')
    for char in tuple:
        if (filename.find(char)!=-1):
            filename=filename.replace(char,"_")
    return filename

def download_mp3(mp3_url, filename,dir):      
    f = dir+"\\"+filename
    if os.path.exists(f):
      logger.debug(f+" is existed.")
      return
     
    try:
        open(f, 'wb').write(urllib.urlopen(mp3_url).read())
        logger.debug(  filename + ' is downloaded.')
    except:
        logger.debug( filename + ' is not downloaded.')

       
def download_all_mp3(start,end,dir,logger):
  for x in range(start,end):
    try:
        url = "http://www.youban.com/mp3-d" + str(x) + ".html"
        logger.debug(str(x) + ": "+url)
        doc = py(url=url)
        e = doc('.mp3downloadbox')
        if e is None or e == '':
          logger.debug(url+" is not existed.")
          return
         
        e = unicode(e)
        #logger.debug( e)
        regex = re.compile(ur".*<h1>(.*)</h1>.*downloadboxlist.*?<a.*?\"(.*?)\"",re.UNICODE|re.S)
        m = regex.search(e)
        if m is not None:
          title = m.group(1).strip()
          title2 = str(x)+"_"+title + ".mp3"
          #title2 = re.sub(' ','_',title2)
          title2 = format(title2)
          link = m.group(2)
          #logger.debug( "title:" + title + " link:" + link)
          if link == '' or title == '':
            logger.debug(url + " is not useful")
            continue
          logger.debug(str(x)+": "+link)
          download_mp3(link,title2,dir)
    except:
        logger.debug(url+" met exception.")
        continue
     

     
if __name__ == "__main__":
    dir_root = "e:\\song"
    if sys.argv[3] != '': dir_root=sys.argv[3]
   
    start,end = 1,8000
    if sys.argv[1] >= 0 and sys.argv[2]>=0:
      start,end = int(sys.argv[1]),int(sys.argv[2])
      print ("Download from %s to %s.\n" % (start,end))     
   
    dir = dir_root + "\\"+str(start)+"-"+str(end)
    if not os.path.exists(dir):
      os.mkdir(dir)    
    print "Download to " + dir + ".\n"
   
    logger = logging.getLogger("simple")
    logger.setLevel(logging.DEBUG) 
    fh = logging.FileHandler(dir+"\\"+"download.log")
    ch = logging.StreamHandler()
    formatter = logging.Formatter("%(message)s")
    ch.setFormatter(formatter)
    fh.setFormatter(formatter)
    logger.addHandler(ch)
    logger.addHandler(fh)
    download_all_mp3(start,end,dir,logger)

有需要的可以參考繼續(xù)修改。

相關文章

  • 基于Python實現(xiàn)本地音樂播放器的制作

    基于Python實現(xiàn)本地音樂播放器的制作

    這篇文章主要介紹了如何利用Python實現(xiàn)本地音樂播放器的制作,并且可以選擇需要播放的音樂的路徑,選擇播放方式,感興趣的小伙伴可以了解一下
    2022-06-06
  • Python pip安裝如何切換國內(nèi)源

    Python pip安裝如何切換國內(nèi)源

    在Python開發(fā)中,pip是一個非常重要的工具,它允許我們安裝和管理Python包,本文將介紹如何切換pip的國內(nèi)源,并推薦幾個常用的國內(nèi)源,感興趣的朋友一起看看吧
    2024-04-04
  • python 并發(fā)下載器實現(xiàn)方法示例

    python 并發(fā)下載器實現(xiàn)方法示例

    這篇文章主要介紹了python 并發(fā)下載器實現(xiàn)方法,結(jié)合實例形式詳細分析了并發(fā)下載器相關原理及Python并發(fā)下載視頻的相關操作技巧,需要的朋友可以參考下
    2019-11-11
  • 一文帶你弄懂Python3中的def?__init__

    一文帶你弄懂Python3中的def?__init__

    說起基礎的init函數(shù)也是我們的老朋友了,組合函數(shù)的要么是理解又一定的難度,要么是操作方法有復雜的地方,小編今天要講的def __init()__屬于第一種,下面這篇文章主要給大家介紹了關于如何通過一文帶你弄懂Python3中的def?__init__的相關資料,需要的朋友可以參考下
    2022-12-12
  • Python讀取網(wǎng)頁內(nèi)容的方法

    Python讀取網(wǎng)頁內(nèi)容的方法

    這篇文章主要介紹了Python讀取網(wǎng)頁內(nèi)容的方法,實例分析了Python基于URL讀取網(wǎng)頁內(nèi)容的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • 基于Python實現(xiàn)圖片九宮格切圖程序

    基于Python實現(xiàn)圖片九宮格切圖程序

    這篇文章主要為大家詳細介紹了如何利用python和C++代碼實現(xiàn)圖片九宮格切圖程序,文中的示例代碼講解詳細,具有一定的借鑒價值,需要的可以參考一下
    2023-04-04
  • python異常處理、自定義異常、斷言原理與用法分析

    python異常處理、自定義異常、斷言原理與用法分析

    這篇文章主要介紹了python異常處理、自定義異常、斷言,結(jié)合實例形式分析了python異常處理、自定義異常、斷言相關概念、原理、用法及操作注意事項,需要的朋友可以參考下
    2020-03-03
  • python 使用fileinput讀取文件

    python 使用fileinput讀取文件

    這篇文章主要介紹了python 使用fileinput讀取文件,幫助大家更好的理解和學習使用python,感興趣的朋友可以了解下
    2021-03-03
  • Pytorch?Conda環(huán)境pack打包遷移報錯的處理方案

    Pytorch?Conda環(huán)境pack打包遷移報錯的處理方案

    這篇文章主要介紹了Pytorch?Conda環(huán)境pack打包遷移報錯的處理方案,文中通過代碼示例和圖文結(jié)合的方式給大家介紹的非常詳細,對大家的學習或工作有一定的幫助,需要的朋友可以參考下
    2024-07-07
  • numpy實現(xiàn)RNN原理實現(xiàn)

    numpy實現(xiàn)RNN原理實現(xiàn)

    這篇文章主要介紹了numpy實現(xiàn)RNN原理實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03

最新評論

永城市| 水城县| 板桥市| 兰考县| 吴忠市| 且末县| 开阳县| 临桂县| 临朐县| 舒城县| 屏东市| 呼图壁县| 奈曼旗| 安塞县| 海南省| 长沙县| 凤阳县| 山阴县| 始兴县| 敦化市| 铜川市| 仁寿县| 肇源县| 瓮安县| 利辛县| 平远县| 镇安县| 虎林市| 利川市| 白玉县| 柏乡县| 安溪县| 阳春市| 建水县| 西宁市| 长海县| 焦作市| 焦作市| 增城市| 大冶市| 东安县|