2019独角兽企业重金招聘Python工程师标准>>>

一直在ubuntu下面使用xbmc看搜狐视频的电视剧,可是突然发现电视剧看不了,全是乱码。花了两个小时替作者查BUG,好早终于找到问题了。

问题表现为在电视剧的剧情列表显示为乱码,其实不是乱码而是unicode字符创。然后根据作者的源码一步步查看搜狐视频的源码,发现搜狐视频在返回json数据的时候将json数据了unicode加密,而作者没有可能没有考虑到这个问题,或者是当时的搜狐并没有做这样的修改。既然问题找到了,那修改也很简单。

具体修改的代码为,在$home/.xbmc/addons/plugin.video.sohuvideo文件中的第391行出,也就是link = getHttpData("http://search.vrs.sohu.com/avs_i"+vid+"_pr"+pid+"_o"+obtype+"_n_p1000_chltv.sohu.com.json")的后面添加一句:link=link.decode('raw_unicode_escape').encode('utf-8')。然后就可以正常观看了。

if len(match0)>0:# print 'pid=' + match0[0]pid=match0[0].replace('"','')match0 = re.compile('var vid=(.+?);', re.DOTALL).findall(link)vid=match0[0].replace('"','')obtype= '2' link = getHttpData("http://search.vrs.sohu.com/avs_i"+vid+"_pr"+pid+"_o"+obtype+"_n_p1000_chltv.sohu.com.json")link=link.decode('raw_unicode_escape').encode('utf-8')match = re.compile('"videoName":"(.+?)",.+?"videoPublishTime":(\d+),.+?"playOrder":"(\d+)",.+?"videoUrl":"(.+?)",.+?"videoBigPic":"(.+?)",', re.DOTALL).findall(link)totalItems = len(match)i = 0 for p_name, p_time, p_order, p_url, p_thumb  in match:i +=1 p_date = datetime.date.fromtimestamp(float(p_time)/1000).strftime('%d.%m.%Y')li = xbmcgui.ListItem(p_name, iconImage = '', thumbnailImage = p_thumb)li.setInfo(type="Video",infoLabels={"Title":p_name, "date":p_date, "episode":int(p_order)})u = sys.argv[0] + "?mode=3&name=" + urllib.quote_plus(p_name) + "&url=" + urllib.quote_plus(p_url)+ "&thumb=" + urllib.quote_plus(p_thumb)xbmcplugin.addDirectoryItem(int(sys.argv[1]), u, li, False, totalItems)

继续发现一个错误,作者写的那个正则表达式稍微有点问题,不能够完全显示电视剧的列表,只有奇数。我用json给修改了一下:

if len(match0)>0:
387             # print 'pid=' + match0[0]
388             pid=match0[0].replace('"','')
389             match0 = re.compile('var vid=(.+?);', re.DOTALL).findall(link)
390             vid=match0[0].replace('"','')
391             obtype= '2'
392             link = getHttpData("http://search.vrs.sohu.com/avs_i"+vid+"_pr"+pid+"_o"+obtype+"_n_p1000_chltv.sohu.com.json")
393             link=link.decode('raw_unicode_escape').encode('utf-8')
394
395             #match = re.compile('"videoName":"(.+?)",.+?"videoPublishTime":(\d+),.+?"playOrder":"(\d+)",.+?"videoUrl":"(.+?)",.+?"videoBigPic":"(.+?)",', re.DOTALL).findall(link)
396             #totalItems = len(match)
397             link=link.replace('var video_album_videos_result=','')
398             match=json.loads(link)['videos']
399             totalItems=len(match)
400             i = 0
401             for line in match:
402                 p_name=line['videoName'].encode('utf-8')
403                 p_time=line['videoPublishTime']
404                 p_order=line['playOrder'].encode('utf-8')
405                 p_url=line['videoUrl'].encode('utf-8')
406                 p_thumb=line['videoBigPic'].encode('utf-8')
407
408                 i +=1
409                 p_date = datetime.date.fromtimestamp(float(p_time)/1000).strftime('%d.%m.%Y')
410                 li = xbmcgui.ListItem(p_name, iconImage = '', thumbnailImage = p_thumb)
411                 li.setInfo(type="Video",infoLabels={"Title":p_name, "date":p_date, "episode":int(p_order)})
412                 u = sys.argv[0] + "?mode=3&name=" + urllib.quote_plus(p_name) + "&url=" + urllib.quote_plus(p_url)+ "&thumb=" + urllib.quote_plus(p_thumb)

转载于:https://my.oschina.net/eatapple/blog/145269

XBMC不能看搜狐电视剧相关推荐

  1. 优秀设计师是如何炼成的,看搜狐如何做设计

    优秀设计师是如何炼成的,看搜狐如何做设计   <设计之下>终于上市了,回忆一下整个成书的过程,不得不佩服作者,从最开始的干净利落,到最终的细节的调整,作为编辑我对他们的认识逐渐加深,也慢慢 ...

  2. 从知识直播和创新活动中,看搜狐的内容“新”路

    5月17日,2023搜狐科技峰会顺利闭幕. 本次峰会讨论的内容前瞻且丰满.分享内容涵盖前沿科学突破,宇宙文明.天文卫星.人类永生,到展望人类未来,核聚变.6G通信.脑机接口,再到通用人工智能时代启幕下 ...

  3. 从火炬传递看搜狐奥运赞助商优势

    2005年11月搜狐成为北京奥运独家互联网内容赞助商优势,2007年面对即将到来的北京奥运,各大门户纷纷推出自己的奥运战略,媒体的炒作也着实热闹了一阵,在北京奥运火炬传递开始之际,搜狐独家互联网内容赞 ...

  4. 搜狐的财报背后:视频“吸血”,游戏与搜索“供血”,能否再成就张朝阳的理想主义?

    文丨陈选滨 来源 | 螳螂财经(ID:TanglangFin) 在张朝阳离开大众视野,搜狐沉寂的时间里,中国的互联网已是沧海桑田的变化.新秀与巨头相互攻伐的互联网江湖涌现出诸多人物与理论. 当前,快速 ...

  5. 搜狐账号系统的反人类设计

    昨天为了看搜狐视频"注册"了一个搜狐的账号,更准确的说,是使用新浪微博账号登录的,不知道这算不算"注册". 今天在看<生活大爆炸>时,搜狐提醒我下载 ...

  6. 【深度学习看手相】台湾学生获奖 AI 项目是科学还是伪科学? 搜狐科技 08-06 12:44 1新智元报道 来源: medium,facebook 编译:胡祥杰 张易 【新智元导读】本周日带来一个有

    [深度学习看手相]台湾学生获奖 AI 项目是科学还是伪科学? 搜狐科技 08-06 12:44 1新智元报道 来源: medium,facebook 编译:胡祥杰 张易 [新智元导读]本周日带来一个有 ...

  7. 从子域名看百度,新浪,搜狐,QQ和网易

    从二级域名看百度,新浪,搜狐,QQ和网易 本来想写一篇关于百度产品的分析,写了一半发现题目太大,写不下去了.干脆自己八卦一下. 网易的子域名:108 个: QQ的子域名:102 个: 新浪子域名:86 ...

  8. 搜狐畅游薪酬公开,这是件好事么?-看点-虎嗅网

    搜狐畅游薪酬公开,这是件好事么?-看点-虎嗅网 搜狐畅游薪酬公开,这是件好事么?-看点-虎嗅网 搜狐畅游薪酬公开,这是件好事么? A-A+ 吴澍 2013-02-08 11:2126 搜狐 稍后阅读 ...

  9. 从搜狐畅游“揭露门”看网游企业管理

    [游戏开发者及原作者版权所有 转载请注明出处及作者] 最近,各大高校bbs传出一封搜狐畅游被辞员工父亲写给搜狐CEO张朝阳的信.而在这封公开信曝光之后,一位自称为"畅游员工"的网友 ...

最新文章

  1. Spring+SpringMvc+Hibernate 框架搭建
  2. python中x y表示_Python中表达式x += y和x = x+y 的区别详解
  3. 方法传递java_Java 程序将方法作为参数传递给其他方法
  4. report things that go wrong
  5. easyUi创建临时Dialog
  6. 软件测试 黑盒白盒测试方法总结
  7. C语言第12轮:指针
  8. bzoj 2959: 长跑【LCT+并查集】
  9. 兄弟连教育分享:用CSS实现鼠标悬停提示的方法
  10. LINUX下载编译libx264
  11. 【总结】6种机器学习中的优化算法:SGD,牛顿法,SGD-M,AdaGrad,AdaDelta,Adam
  12. 软件项目架构简单总结
  13. 【多功能改进】基于OpenCV图像采集的人脸识别网络推流及局域网无线控制系统(将图像在URL地址上输出,可做成网络摄像头,带识别框)
  14. 【Unity3D日常开发】灯光系统,太阳光晕效果实现
  15. Android Settings 应用二 获取应用消耗的流量
  16. 动漫主题的聊天室(html+css+js)(聊天室下篇)
  17. arduino mega针脚_Arduino MEGA串口TX1、RX1使用方法
  18. 【PyCharm实用教程】最详细的Pycharm使用教程,你真不要进来学习一下?
  19. csgo删除机器人_《CSGO》补丁突然移除补位机器人 队友掉线只能4v5!
  20. 1万人游戏服务器多少钱?

热门文章

  1. 升级版授权系统+盗版追踪+域名IP双授权+在线加密系统
  2. php人才招聘网可二开
  3. NYMEX ACCESS电子交易系统来
  4. Magento教程 10:如何修改网站文字?
  5. jquery user interface
  6. PHP 判断用户语言跳转网页
  7. 生产者消费者之阻塞队列版本
  8. 道德沦丧的电商推广app开发②
  9. UML学习-----类图
  10. SQLyog 安装过程