全集網影片下載


  鑒於全集網(http://www.quanji.la/)更新影片較快,本人多次到全集網下載電影或連續劇,但有時不知道想看的新片到底更新了沒有,每次都要打開瀏覽器看一下比較繁瑣,故寫了個小程序實現輸入影片自動下載。直接上代碼:

#!/user/bin/python
#encoding=utf-8

#此程序只是模仿默認瀏覽器打開迅雷鏈接實現自動下載,電腦必須裝有迅雷,下載路徑為迅雷默認下載路徑

import requests
import re
import webbrowser
import Levenshtein      #相識度匹配模塊,用於判斷下載連續劇
import time


#輸入電影名並生成data內容
def get_datas():
    search_name = raw_input('please input the video name you wanted:')
    data = {'wd':search_name}                #data由抓包軟件HTTPAnalyzerFullV7獲得
    return search_name,data

##post方式獲取網頁內容
def get_response0(data,search_url):
    response = requests.post(url=search_url,data=data).content
    return response


##get方式獲取頁面內容
def get_response1(links_url):
    response = requests.get(links_url).content
    return response


##獲取電影下載頁面url
def get_downloadpage():
    datas = get_datas()
    search_name = datas[0]
    data = datas[1]
    response = get_response0(data,search_url)
    downloadpage_url = re.findall('</a></div><a href="(.*?)"><h3>.*?%s.*?</h3>'%search_name,response)
    return downloadpage_url

##判斷電影是否存在,若存在,下載電影
def download_movie(search_num,start_url):
    try:
        links_url = get_downloadpage()
        links_url = start_url+links_url[0]
        links_url = links_url.split('"><h3>')[0]
        print 'downloadpage_url:',links_url
        response = get_response1(links_url)
        ##獲取內容下載鏈接
        links_list = re.findall('<li id="li\d+_.*?"><a href="(.*?)" title',response)
        print 'The num of links is %s'%len(links_list)            #記錄可下載的鏈接數

        fail_time = 0                       #記錄下載失敗次數
        download_num = 0                    #記錄下載次數
        link_standard = links_list[0]
        for link in links_list:
            #判斷鏈接相似度(字符串長度一致),若存在,則繼續;不存在則退出循環
            try:
                    Levenshtein.hamming(link,link_standard)
                    time.sleep(3)                                    #打開鏈接的間斷時間
            except:
                    break

            #嘗試下載
            try:
                webbrowser.open(link)
                download_num += 1
                print 'Download link:\n%s'%link
                print 'Downloading...%s'%download_num
            except:
                fail_time += 1
                pass

        if fail_time != 0:
            print 'Have failed %s times!'%fail_time
            if fail_time == len(links_list):
                print 'Download fail!!!'
    except:
        if search_num < 2:
            print "The movie name you had input is not foud or incomplete,please try again..."
            search_num += 1
            download_movie(search_num,start_url)
        else:
            print 'Beyond the input limit!'


if __name__ == '__main__':

    start_url = 'http://www.quanji.la'                        #全集網首頁
    search_url = start_url + '/index.php?s=vod-search'        #搜索頁面
    search_num = 0                                            #記錄輸入次數
    download_movie(search_num,start_url)

  程序可下電影也可下連續劇,最主要的前提是輸入的“search_name”一定要對(我們找片子的時候特別是外國片會有多個譯名,輸入的譯名全集網得有)。

  python剛學習不久,程序的質量不咋地,歡迎各路好友多指點!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM