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在linux中输出带颜色的文字的方法
Jun 19 Python
Python的Flask框架与数据库连接的教程
Apr 20 Python
合并百度影音的离线数据( with python 2.3)
Aug 04 Python
对Python字符串中的换行符和制表符介绍
May 03 Python
python查看模块,对象的函数方法
Oct 16 Python
Python基础之循环语句用法示例【for、while循环】
Mar 23 Python
python 实现交换两个列表元素的位置示例
Jun 26 Python
python matplotlib库绘制散点图例题解析
Aug 10 Python
python GUI库图形界面开发之PyQt5开发环境配置与基础使用
Feb 25 Python
django API 中接口的互相调用实例
Apr 01 Python
Python使用海龟绘图实现贪吃蛇游戏
Jun 18 Python
python简单验证码识别的实现过程
Jun 20 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
IIS7.X配置PHP运行环境小结
2011/06/09 PHP
兼容PHP和Java的des加密解密代码分享
2014/06/26 PHP
php打乱数组二维数组多维数组的简单实例
2016/06/17 PHP
PHP二维数组矩形转置实例
2016/07/20 PHP
php抛出异常与捕捉特定类型的异常详解
2016/10/26 PHP
php获取指定数量随机字符串的方法
2017/02/06 PHP
thinkphp5.0自定义验证规则使用方法
2017/11/16 PHP
PHP实现将几张照片拼接到一起的合成图片功能【便于整体打印输出】
2017/11/14 PHP
extjs form textfield的隐藏方法
2008/12/29 Javascript
MyEclipse取消验证Js的两种方法
2013/11/14 Javascript
WEB前端设计师常用工具集锦
2014/12/09 Javascript
js与jquery实时监听输入框值的oninput与onpropertychange方法
2015/02/05 Javascript
JS中的Replace方法使用经验分享
2015/05/20 Javascript
javascript中的隐式调用
2018/02/10 Javascript
create-react-app构建项目慢的解决方法
2018/03/14 Javascript
vuejs中监听窗口关闭和窗口刷新事件的方法
2018/09/21 Javascript
vue弹出框组件封装实例代码
2019/10/31 Javascript
SpringBoot在yml配置文件中配置druid的操作
2020/11/16 Javascript
addEventListener()和removeEventListener()追加事件和删除追加事件
2020/12/04 Javascript
[03:20]次级联赛厮杀超职业 现超级兵对拆世纪大战
2014/10/30 DOTA
Python使用MONGODB入门实例
2015/05/11 Python
12步入门Python中的decorator装饰器使用方法
2016/06/20 Python
Python实现的插入排序算法原理与用法实例分析
2017/11/22 Python
python数据预处理之数据标准化的几种处理方式
2019/07/17 Python
python支付宝支付示例详解
2019/08/22 Python
python3图片文件批量重命名处理
2019/10/31 Python
python 删除excel表格重复行,数据预处理操作
2020/07/06 Python
Aeropostale官网:美国著名校园品牌及青少年服饰品牌
2019/03/21 全球购物
二手书店创业计划书
2014/01/16 职场文书
书法比赛获奖感言
2014/02/10 职场文书
物流专业自荐信
2014/05/23 职场文书
2014入党积极分子批评与自我批评思想报告
2014/10/06 职场文书
关于法制教育的宣传语
2015/07/13 职场文书
python通过函数名调用函数的几种方法总结
2021/06/07 Python
Android开发之底部导航栏的快速实现
2022/04/28 Java/Android
Android 中的类文件和类加载器详情
2022/06/05 Java/Android