• 全集网影片下载


      鉴于全集网(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="lid+_.*?"><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:
    %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刚学习不久,程序的质量不咋地,欢迎各路好友多指点!

  • 相关阅读:
    CodeForces 543d Road Improvement
    UVA Foreign Exchange
    ZOJ 1825 Compound Words
    UVA 10125 Sumsets
    CodeForces
    32位linux(centos)下mongoDB的安装
    关于PHP 采集类
    关于微信支付零时工代码的修正方法
    微信公众号申请,微信支付全攻略 2
    简介CentOS与 Ubuntu的不同
  • 原文地址:https://www.cnblogs.com/fangqiushun/p/5442649.html
Copyright © 2020-2023  润新知