Python获取央视节目单的实现代码


Posted in Python onJuly 25, 2015

本文实例讲述了Python获取央视节目单的方法。分享给大家供大家参考。具体如下:

#! /usr/bin/python 
# -*- coding: utf-8 -*- 
import urllib,re,unicodedata,string,sys 
from time import strftime,localtime 
channel={"1":"CCTV-1","2":"CCTV-2","3":"CCTV-3","4":"CCTV-4亚洲", 
  "5":"CCTV-4欧洲","6":"CCTV-4美洲","7":"CCTV-5","8":"CCTV-6", 
  "9":"CCTV-7","10":"CCTV-8","11":"CCTV-9","12":"CCTV-10", 
  "13":"CCTV-11","14":"CCTV-12","15":"CCTV新闻","16":"CCTV少儿", 
  "17":"CCTV音乐","18":"CCTV_E","19":"CCTV-F","20":"CCTV-高清"} 
if __name__=="__main__": 
  print "@@" 
  print "@@ 你可以在命令行后输入数字(1-20)来选择频道 " 
  print "@@ 通过在命令行后键入help获取频道列表" 
  print "@@" 
  if len(sys.argv)==1: 
    Select="8" 
  else: 
    if sys.argv[1]=="help": 
      for i in range(len(channel)): 
        print "%3d : %11s" % (i+1, channel["%s" % (i+1)]), 
        if(i%4 == 3): 
          print "" 
      sys.exit(0) 
    if string.atoi(sys.argv[1])>20 or string.atoi(sys.argv[1])<=0: 
      print "Out of Range. Please Select 1-20." 
      sys.exit(0) 
    else: 
      Select=sys.argv[1] 
  print '正在获取节目单,请稍后...' 
  date=strftime('%Y%m%d',localtime()) 
  response = urllib.urlopen("http://tv.cctv.com/soushi/28/0"+Select+"/"+date+".shtml") 
  Result=response.read() 
  #list=re.findall(r"<div class='tlb_right'><div class='l'>(.+?)<script",Result,re.S) 
  list=re.findall(r"上午节目(.+?)<script",Result,re.S) 
  list2=re.findall(r"<li>(.+?)</li>",list[0],re.S) 
  morning=[] 
  afternoon=[] 
  listnum=0 
  for i in range(len(list2)): 
    i=re.sub('<.+?>','',list2[i]) 
    if string.atoi(i[:2])>=12: #将上午的节目于下午的节目分开 
      afternoon.append(i) 
    else: 
      morning.append(i) 
  if len(morning)>len(afternoon): 
    listnum=len(morning) 
  else: 
    listnum=len(afternoon) 
  print "-"*80, 
  print " "*13+"上午节目"+" "*26+"下午节目" 
  print " "*14+"========"+" "*26+"========" 
  for i in range(listnum): 
    if(i<len(morning)): 
      print "%-4s %-29s" %(morning[i][:5],morning[i][5:]), 
    else: 
      print " "*35, 
    if(i<len(afternoon)): 
      print "%-4s %-30s" %(afternoon[i][:5],afternoon[i][5:]) 
    else: 
      print " "*37 
  print "-"*80, 
  print " "*24,strftime("%Y年%m月%d日"), 
  print "%s 节目单" %channel[Select]

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
Python数据类型详解(四)字典:dict
May 12 Python
python 捕获shell脚本的输出结果实例
Jan 04 Python
更换Django默认的模板引擎为jinja2的实现方法
May 28 Python
python 实现A*算法的示例代码
Aug 13 Python
Python实现批量执行同目录下的py文件方法
Jan 11 Python
Python使用GitPython操作Git版本库的方法
Feb 29 Python
Python sorted排序方法如何实现
Mar 31 Python
解决Python数据可视化中文部分显示方块问题
May 16 Python
django ObjectDoesNotExist 和 DoesNotExist的用法
Jul 09 Python
python中zip()函数遍历多个列表方法
Feb 18 Python
用gpu训练好的神经网络,用tensorflow-cpu跑出错的原因及解决方案
Mar 03 Python
Python time库的时间时钟处理
May 02 Python
Python实现将DOC文档转换为PDF的方法
Jul 25 #Python
将Django框架和遗留的Web应用集成的方法
Jul 24 #Python
将Python的Django框架与认证系统整合的方法
Jul 24 #Python
Django与遗留的数据库整合的方法指南
Jul 24 #Python
简介Django中内置的一些中间件
Jul 24 #Python
Python字符串转换成浮点数函数分享
Jul 24 #Python
详解Python的Django框架中的中间件
Jul 24 #Python
You might like
PHP4在Windows2000下的安装
2006/10/09 PHP
JavaScript面向对象编程
2008/03/02 Javascript
jquery获取tr中控件值并操作tr实现思路
2013/03/27 Javascript
js加载之使用DOM方法动态加载Javascript文件
2013/11/08 Javascript
JS将制定内容复制到剪切板示例代码
2014/02/11 Javascript
Jquery获取和修改img的src值的方法
2014/02/17 Javascript
如何将网页表格内容导入excel
2014/02/18 Javascript
JavaScript制作windows经典扫雷小游戏
2015/03/31 Javascript
JS排序方法(sort,bubble,select,insert)代码汇总
2016/01/30 Javascript
实例解析jQuery工具函数
2016/12/01 Javascript
让微信小程序支持ES6中Promise特性的方法详解
2017/06/13 Javascript
原生js实现公告滚动效果
2021/01/10 Javascript
vue路由对不同界面进行传参及跳转的总结
2019/04/20 Javascript
vue配置接口域名方法总结
2019/05/12 Javascript
如何优雅地在Node应用中进行错误异常处理
2019/11/25 Javascript
微信小程序实现签字功能
2019/12/23 Javascript
[07:09]2014DOTA2国际邀请赛-Newbee再次发威成功晋级决赛
2014/07/19 DOTA
[01:11:46]DOTA2-DPC中国联赛 正赛 iG vs Magma BO3 第一场 2月23日
2021/03/11 DOTA
Python类的定义、继承及类对象使用方法简明教程
2015/05/08 Python
python基于multiprocessing的多进程创建方法
2015/06/04 Python
Python实现识别手写数字 Python图片读入与处理
2020/03/23 Python
用Django实现一个可运行的区块链应用
2018/03/08 Python
详解Matplotlib绘图之属性设置
2019/08/23 Python
WxPython实现无边框界面
2019/11/18 Python
基于python调用psutil模块过程解析
2019/12/20 Python
Python 实现自动完成A4标签排版打印功能
2020/04/09 Python
keras中模型训练class_weight,sample_weight区别说明
2020/05/23 Python
解决PyCharm无法使用lxml库的问题(图解)
2020/12/22 Python
python实现MySQL指定表增量同步数据到clickhouse的脚本
2021/02/26 Python
世界顶级户外运动品牌折扣网站:LeftLane Sports
2019/06/12 全球购物
环境工程求职简历的自我评价范文
2013/10/24 职场文书
毕业自荐书
2013/12/09 职场文书
计生办班子群众路线教育实践活动个人对照检查材料思想汇报
2014/10/04 职场文书
办公室主任岗位职责
2015/01/31 职场文书
2015年学校教育教学工作总结
2015/04/22 职场文书
班主任经验交流心得体会
2015/11/02 职场文书