Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pptv站点下载失败 #208

Closed
yangaowei opened this issue Oct 11, 2017 · 18 comments
Closed

pptv站点下载失败 #208

yangaowei opened this issue Oct 11, 2017 · 18 comments

Comments

@yangaowei
Copy link

python cykdl/main.py http://v.pptv.com/show/qWnKSbEXh8Uopg4.html
Traceback (most recent call last):
File "cykdl/main.py", line 185, in
main()
File "cykdl/main.py", line 163, in main
info = parser(u)
File "build/bdist.macosx-10.11-x86_64/egg/ykdl/extractor.py", line 24, in parser
File "build/bdist.macosx-10.11-x86_64/egg/ykdl/extractors/pptv.py", line 121, in prepare
File "build/bdist.macosx-10.11-x86_64/egg/ykdl/util/html.py", line 65, in get_content
File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 154, in urlopen
return opener.open(url, data, timeout)
File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 437, in open
response = meth(req, response)
File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 550, in http_response
'http', request, response, code, msg, hdrs)
File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 469, in error
result = self._call_chain(*args)
File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 409, in _call_chain
result = func(*args)
File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 656, in http_error_302
return self.parent.open(new, timeout=req.timeout)
File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 437, in open
response = meth(req, response)
File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 550, in http_response
'http', request, response, code, msg, hdrs)
File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 475, in error
return self._call_chain(*args)
File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 409, in _call_chain
result = func(*args)
File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 558, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 599:

@lki2019
Copy link

lki2019 commented Oct 11, 2017

恩 10号还可以的 今天不行了

@lki2019
Copy link

lki2019 commented Oct 11, 2017

C:\Users\Administrator>ykdl http://v.pptv.com/show/RTUFgupQwP5h30c.html
Traceback (most recent call last):
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\Scripts
\ykdl-script.py", line 11, in
load_entry_point('ykdl==1.5.2', 'console_scripts', 'ykdl')()
File "c:\users\administrator\appdata\local\programs\python\python36-32\lib\sit
e-packages\cykdl_main_.py", line 163, in main
info = parser(u)
File "c:\users\administrator\appdata\local\programs\python\python36-32\lib\sit
e-packages\ykdl\extractor.py", line 24, in parser
info = self.prepare()
File "c:\users\administrator\appdata\local\programs\python\python36-32\lib\sit
e-packages\ykdl\extractors\pptv.py", line 200, in prepare
xml = get_content('http://web-play.pptv.com/webplay3-0-{}.xml?type=web.fpp&v
ersion=4&appplt=flp&appid=pptv.flashplayer.vod&appver=3.4.2.12'.format(self.vid)
)
File "c:\users\administrator\appdata\local\programs\python\python36-32\lib\sit
e-packages\ykdl\util\html.py", line 65, in get_content
response = urlopen(req)
File "c:\users\administrator\appdata\local\programs\python\python36-32\lib\url
lib\request.py", line 223, in urlopen
return opener.open(url, data, timeout)
File "c:\users\administrator\appdata\local\programs\python\python36-32\lib\url
lib\request.py", line 532, in open
response = meth(req, response)
File "c:\users\administrator\appdata\local\programs\python\python36-32\lib\url
lib\request.py", line 642, in http_response
'http', request, response, code, msg, hdrs)
File "c:\users\administrator\appdata\local\programs\python\python36-32\lib\url
lib\request.py", line 570, in error
return self._call_chain(*args)
File "c:\users\administrator\appdata\local\programs\python\python36-32\lib\url
lib\request.py", line 504, in _call_chain
result = func(*args)
File "c:\users\administrator\appdata\local\programs\python\python36-32\lib\url
lib\request.py", line 650, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 599:

@zhangn1985
Copy link
Collaborator

都是HTTP599

@redstoneleo
Copy link
Contributor

C:\Users\i>ykdl -i http://v.pptv.com/show/kSoVksCiam9k8uiaI.html?rcc_src=B3
Traceback (most recent call last):
  File "C:\Users\i\AppData\Local\Programs\Python\Python35-32\Scripts\ykdl-script
.py", line 11, in <module>
    load_entry_point('ykdl==1.5.2', 'console_scripts', 'ykdl')()
  File "c:\users\i\appdata\local\programs\python\python35-32\lib\site-packages\c
ykdl\__main__.py", line 163, in main
    info = parser(u)
  File "c:\users\i\appdata\local\programs\python\python35-32\lib\site-packages\y
kdl\extractor.py", line 24, in parser
    info = self.prepare()
  File "c:\users\i\appdata\local\programs\python\python35-32\lib\site-packages\y
kdl\extractors\pptv.py", line 203, in prepare
    info.title, m_items, m_streams, m_segs = parse_pptv_xml(dom)
  File "c:\users\i\appdata\local\programs\python\python35-32\lib\site-packages\y
kdl\extractors\pptv.py", line 108, in parse_pptv_xml
    channel = get_elem(dom, 'channel')[0]
IndexError: list index out of range

C:\Users\i>

@liuzhenyilzhy
Copy link

您好!
有一些解决此问题的线索,不知道对解决这个问题有没有帮助。
已发您的Gmail邮箱,但我用的163邮箱,不知道是否能够正常收发Gmail的邮件。
国内上Gmail很不方便,我的Gmail发不出去邮件,所以只能用163,显示发送成功。

@zhangn1985
Copy link
Collaborator

@liuzhenyilzhy 谢谢

@redstoneleo
Copy link
Contributor

这个也不行 http://v.pptv.com/show/74SCAfMI4yGEAmo.html

@lki2019
Copy link

lki2019 commented Nov 25, 2017

you-get也没修复PPTV 看来不好修了

@zhangn1985
Copy link
Collaborator

不是我不修,而是修补了。

@zhangn1985
Copy link
Collaborator

 curl 'http://web-play.pptv.com/webplay3-0-26718789.xml?version=4&param=type%3Dweb.fpp%26ahl_ver%3D1%26ahl_random%3D6c2b3072426c42253c754c4460624b76%26ahl_signa%3D8544ec938b8b6e4153320931d5079e7aadfbed5855a5ccc40c66d470338b7056%26userType%3D0%26o%3D0&type=web.fpp&appplt=flp&appid=pptv.flashplayer.vod&appver=3.4.2.12'
         if(Global.getInstance()["crypto"])
         {
            _loc3_ = Global.getInstance()["crypto"].getSginature(VodCommon.playAppKey,VodCommon.playType);
            PrintDebug.Trace("appkey=" + VodCommon.playAppKey + ",加密算法 得到随机数和签名",_loc3_);
         }

         _loc2_ = _loc2_ + ("&param=" + encodeURIComponent("type=" + VodCommon.playType + (_loc3_ && _loc3_.sgin && _loc3_.random?"&ahl_ver=" + VodCommon.playVersion +
      public function getSginature(param1:String, param2:String = "pc") : Object
      {
         var _loc3_:String = this.getStr();
         var _loc4_:String = _loc3_ + param2 + "-" + this.vision + param1;
         var _loc5_:Object = new Object();
         _loc5_.sgin = this.sha256.hash(_loc4_);
         _loc5_.random = Hex.fromString(_loc3_);
         return _loc5_;
      }

主要的AS

@zhangn1985
Copy link
Collaborator

搞了半天还是403。。

pptv的AS还是很好读的。。但不知为啥还是错。

@zhangn1985
Copy link
Collaborator

该死的PPTV似乎修改了SHA256。。。

@zhangn1985
Copy link
Collaborator

不过,仔细想了一下param,这段该死的AS,并没有和任何外部数据关联,没有和UNIX time, video ID之类的共同计算,所以,只需要从网页上抄一段下来就可以了

@zhangn1985
Copy link
Collaborator

但是算出的视频地址还是405,估计解析xml的算法还需要做点改变。

@zhangn1985
Copy link
Collaborator

先把部分改动上传吧。

zhangn1985 pushed a commit that referenced this issue Dec 4, 2017
still broken.

for #208

Signed-off-by: Zhang Ning <zhangn1985@gmail.com>
@jyuan15
Copy link

jyuan15 commented Dec 4, 2017

@zhangn1985
Copy link
Collaborator

不支持VIP

@airdge
Copy link
Collaborator

airdge commented Dec 5, 2017

可用之前的qqqqqww算法 那个也支持vip
http://61.131.55.107/w/362cc6a7b1d78972b859d7267bd0689b.mp4?type=atv&key=dae868272a5523af8e6b2e9b533e029e

zhangn1985 pushed a commit that referenced this issue Apr 27, 2018
still broken.

for #208

Signed-off-by: ykdl <zhangn1985@gmail.com>
zhangn1985 pushed a commit that referenced this issue Apr 27, 2018
still broken.

for #208

Signed-off-by: ykdl <zhangn1985@gmail.com>
zhangn1985 added a commit that referenced this issue Jun 19, 2018
thanks to @airdge

close #295 #255 #208

Signed-off-by: ykdl <832666+zhangn1985@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants