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 sort、sorted高级排序技巧
Nov 21 Python
python 顺时针打印矩阵的超简洁代码
Nov 14 Python
python正则-re的用法详解
Jul 28 Python
FFT快速傅里叶变换的python实现过程解析
Oct 21 Python
python 操作hive pyhs2方式
Dec 21 Python
torch 中各种图像格式转换的实现方法
Dec 26 Python
Python中if有多个条件处理方法
Feb 26 Python
关于python 跨域处理方式详解
Mar 28 Python
django 外键创建注意事项说明
May 20 Python
浅谈keras中的后端backend及其相关函数(K.prod,K.cast)
Jun 29 Python
python小技巧——将变量保存在本地及读取
Nov 13 Python
详解pytorch创建tensor函数
Mar 22 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
Linux下将excel数据导入到mssql数据库中的方法
2010/02/08 PHP
6种php上传图片重命名的方法实例
2013/11/04 PHP
php防止sql注入代码实例
2013/12/18 PHP
使用pthreads实现真正的PHP多线程(需PHP5.3以上版本)
2014/05/05 PHP
phpmailer发送邮件之后,返回收件人是否阅读了邮件的方法
2014/07/19 PHP
php中JSON的使用与转换
2015/01/14 PHP
php使用for语句输出三角形的方法
2015/06/09 PHP
PHP定时执行任务的3种方法详解
2015/12/21 PHP
PHP实现冒泡排序的简单实例
2016/05/26 PHP
php实现常见图片格式的水印和缩略图制作(面向对象)
2016/06/15 PHP
PHP实现在对象之外访问其私有属性private及保护属性protected的方法
2017/11/20 PHP
基于jQuery试卷自动排版系统
2010/07/18 Javascript
实现51Map地图接口(示例代码)
2013/11/22 Javascript
JavaScript onkeypress事件入门实例(按下或按住一个键盘按键)
2014/10/17 Javascript
jquery中checkbox使用方法简单实例演示
2015/11/24 Javascript
详解javascript实现瀑布流绝对式布局
2016/01/29 Javascript
javascript操作cookie
2017/01/17 Javascript
JavaScript制作简单的框选图表
2017/05/15 Javascript
实现微信小程序的wxml文件和wxss文件在webstrom的支持
2017/06/12 Javascript
js原生日历的实例(推荐)
2017/10/31 Javascript
vue路由嵌套的SPA实现步骤
2017/11/06 Javascript
Vue 菜单栏点击切换单个class(高亮)的方法
2018/08/22 Javascript
js实现贪吃蛇小游戏(加墙)
2020/07/31 Javascript
Python探索之Metaclass初步了解
2017/10/28 Python
python3获取当前文件的上一级目录实例
2018/04/26 Python
Python设计模式之组合模式原理与用法实例分析
2019/01/11 Python
Python中Subprocess的不同函数解析
2019/12/10 Python
基于PyTorch的permute和reshape/view的区别介绍
2020/06/18 Python
用Python开发app后端有优势吗
2020/06/29 Python
CSS3之transition实现下划线的示例代码
2018/05/30 HTML / CSS
uniapp+Html5端实现PC端适配
2020/07/15 HTML / CSS
手工制作的男士奢华英国鞋和服装之家:Goodwin Smith
2019/06/21 全球购物
售后服务承诺书
2014/03/26 职场文书
年度评优评先方案
2014/06/03 职场文书
治庸问责心得体会
2014/09/12 职场文书
MySQL约束(创建表时的各种条件说明)
2022/06/21 MySQL