首页 > Python > Python脚本拉取优酷高清视频FLV下载地址

Python脚本拉取优酷高清视频FLV下载地址

为了不浪费你的时间,首先要说明的是,Flv地址是通过第三方网站生成的!
场景:迅雷和旋风的离线下载都没有任何速度,完全无法忍受不能下载视频的痛苦啊!但是,打开视频网站,加载速度出奇的块,能不能直接从视频网站拉取视频呢?视频网站一般是不给下载地址的,但优酷又提供高清视频,嘿嘿~通过第三方网站Flvcd可以拉取下载地址,但一般视频网站都会吧视频文件分割成很多份,复制地址再粘贴的Ctrl+C和Ctrl+V显得有点别扭,就写个脚本拉取地址吧。

通过python提供的urllib2和re模块就可以了,把下载地址都写入一个lst文件(迅雷和旋风都支持批量读取地址下载),当然这个工作可以在IE下右键迅雷批量下载,但我的网络貌似迅雷不可用!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/usr/bin/python
# -*- coding:utf-8 -*-
import re
import sys
import urllib
import urllib2
import datetime
 
class CFlvcd(object):
    def __init__(self):
        self.url = ""
        self.pattern = re.compile(r"<a href *= *\"(http://f\.youku\.com/player/getFlvPath/[^\"]+)")
        self.headers = {"Accept":"*/*", "Accept-Language":"zh-CN", "":"", 
                        "User-Agent":"Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)", 
                        #"Accept-Encoding":"gzip, deflate", 
                        "Connection":"Keep-Alive"}
 
    def parse(self, url):
        self.url = "http://www.flvcd.com/parse.php?kw=" + url + "&format=super"
        req = urllib2.Request(url=self.url, headers=self.headers)
        res = urllib2.urlopen(req)
        data = res.read()
        re_res = self.pattern.findall(data)
        if re_res != None:
            filename = datetime.datetime.now().strftime("%Y%m%d-%H%M%S.lst")
            fhandle = open(filename, "w")
            for url in re_res:
                # 注意是\r\n还是\n
                fhandle.write(url + "\n")
            fhandle.close()
            print("Parse URL Done!")
        else:
            print("URL Not Found")
 
if __name__ == "__main__":
    flvcd = CFlvcd()
    flvcd.parse(sys.argv[1])

使用就很简单了,直接把优酷的视频地址传命令行参数即可。效果杠杠滴,有图有真相:
QQ旋风下载效果

对于电视剧,就要一集一集复制地址了,麻烦,因为优酷一个页面只有20集的地址,后面的貌似通过ajax才能显示,所以后面的还是要一集一集复制……
如《法证先锋第三部》,http://www.youku.com/show_page/id_z7a42b8b2ff8311df97c0.html 如果是python脚本,全30集的地址要如何一次性得到呢?
所以就没写了,有时间改个电视剧批量获取。以后就只要这个python脚本了,连flvcd都不用访问了。如果把这个问题解决了,就方便一次性下载电视剧了。


觉得文章还不错?点击此处对作者进行打赏!


本文地址: 程序人生 >> Python脚本拉取优酷高清视频FLV下载地址
作者:代码疯子(Wins0n) 本站内容如无声明均属原创,转载请保留作者信息与原文链接,谢谢!


更多



  1. 2012年4月3日22:16 | #1

    现在清华这边上网巨麻烦。每个人免费的流量20G,关键是得通过校园帐号才能用。。。

    [回复]

  2. 2012年4月4日21:18 | #2

    有个软件“维棠FLV”,可以下载各大视频网站的视频,清晰度也可调节 [em012]

    [回复]

    代码疯子 回复:

    @夜光, 恩,可以试试 [em022]

    [回复]

    obaby 回复:

    @代码疯子, 这个东西效果还是不错滴~

    [回复]

    代码疯子 回复:

    @obaby, 呵呵 先留着

    [回复]

  3. 2012年4月6日10:57 | #3

    [em021] 不错的实践

    [回复]

    代码疯子 回复:

    @胡阳, [em021]

    [回复]

  4. 木头人
    2012年5月26日13:56 | #4

    为什么不直接用flvcd的客户端硕鼠?解决以上所有问题,自动下载全集电视剧,自动合并分段视频,文件名也是视频本身的名字

    [回复]

    代码疯子 回复:

    @木头人, 哈哈 硕鼠确实不错。不过也看网络环境了。

    [回复]

  1. 本文目前尚无任何 trackbacks 和 pingbacks.