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实现文件名批量替换和内容替换
Mar 20 Python
Python全局变量操作详解
Apr 14 Python
Python中死锁的形成示例及死锁情况的防止
Jun 14 Python
Python如何判断数独是否合法
Sep 08 Python
Python基础教程之利用期物处理并发
Mar 29 Python
Python装饰器原理与用法分析
Apr 30 Python
Python3利用Dlib19.7实现摄像头人脸识别的方法
May 11 Python
Python获取昨天、今天、明天开始、结束时间戳的方法
Jun 01 Python
一篇文章彻底搞懂Python中可迭代(Iterable)、迭代器(Iterator)与生成器(Generator)的概念
May 13 Python
python英语单词测试小程序代码实例
Sep 09 Python
Python暴力破解Mysql数据的示例
Nov 09 Python
Django中日期时间型字段进行年月日时分秒分组统计
Nov 27 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
PHP获得数组交集与差集的方法
2015/06/10 PHP
PHP按指定键值对二维数组进行排序的方法
2015/12/22 PHP
解决php-fpm.service not found问题的办法
2017/06/06 PHP
php设计模式之工厂方法模式分析【星际争霸游戏案例】
2020/01/23 PHP
php libevent 功能与使用方法详解
2020/03/04 PHP
js中判断控件是否存在
2010/08/25 Javascript
nodejs的10个性能优化技巧
2014/07/15 NodeJs
jQuery中innerWidth()方法用法实例
2015/01/19 Javascript
BootStrap table删除指定行的注意事项(笔记整理)
2017/02/05 Javascript
Vue2.0使用过程常见的一些问题总结学习
2017/04/10 Javascript
JavaScript实现三级联动菜单实例代码
2017/06/26 Javascript
React + webpack 环境配置的方法步骤
2017/09/07 Javascript
[01:09]DOTA2次级职业联赛 - ishow.HMM战队宣传片
2014/12/01 DOTA
Python中使用asyncio 封装文件读写
2016/09/11 Python
Python用 KNN 进行验证码识别的实现方法
2018/02/06 Python
Python阶乘求和的代码详解
2020/02/14 Python
Python安装并操作redis实现流程详解
2020/10/13 Python
HTML5 UTF-8 中文乱码的解决方法
2013/11/18 HTML / CSS
HTML5为输入框添加语音输入功能的实现方法
2017/02/06 HTML / CSS
存储过程和sql语句的优缺点
2014/07/02 面试题
一套Delphi的笔试题一
2016/02/14 面试题
工厂厂长的职责
2013/12/12 职场文书
乐观大学生的自我评价
2014/01/10 职场文书
初中英语教学反思
2014/01/25 职场文书
《春到梅花山》教学反思
2014/04/16 职场文书
技术岗位竞聘演讲稿
2014/05/16 职场文书
运动会方队口号
2014/06/07 职场文书
电子商务专业求职信
2014/07/10 职场文书
企业党员个人自我评价
2014/09/20 职场文书
音乐教师求职信范文
2015/03/20 职场文书
天堂的孩子观后感
2015/06/11 职场文书
中学教师读书笔记
2015/07/01 职场文书
开学第一周值周总结
2015/07/16 职场文书
Oracle笔记
2021/04/05 Oracle
python中的装饰器该如何使用
2021/06/18 Python
python opencv检测直线 cv2.HoughLinesP的实现
2021/06/18 Python