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中的私有属性
Aug 21 Python
Python实现计算最小编辑距离
Mar 17 Python
python中星号变量的几种特殊用法
Sep 07 Python
Python 统计字数的思路详解
May 08 Python
Python装饰器用法实例分析
Jan 14 Python
Python中三元表达式的几种写法介绍
Mar 04 Python
python3对拉勾数据进行可视化分析的方法详解
Apr 03 Python
Python可变对象与不可变对象原理解析
Feb 25 Python
Python基于进程池实现多进程过程解析
Apr 30 Python
Python爬取阿拉丁统计信息过程图解
May 12 Python
Python基于Twilio及腾讯云实现国际国内短信接口
Jun 18 Python
python实现AdaBoost算法的示例
Oct 03 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语法(3)
2006/10/09 PHP
基于empty函数的输出详解
2013/06/17 PHP
thinkphp四种url访问方式详解
2014/11/28 PHP
Zend Framework教程之Zend_Helpers动作助手ViewRenderer用法详解
2016/07/20 PHP
Yii CFileCache 获取不到值的原因分析
2017/02/08 PHP
PHP INT类型在内存中占字节详解
2019/07/20 PHP
深入解析PHP底层机制及相关原理
2020/12/11 PHP
完美解决JS中汉字显示乱码问题(已解决)
2006/12/27 Javascript
js类的静态属性和实例属性的理解
2009/10/01 Javascript
利用JS延迟加载百度分享代码,提高网页速度
2013/07/01 Javascript
js数值和和字符串进行转换时可以对不同进制进行操作
2014/03/05 Javascript
举例简介AngularJS的内部语言环境
2015/06/17 Javascript
cocos2dx骨骼动画Armature源码剖析(三)
2015/09/08 Javascript
微信小程序组件 contact-button(客服会话按钮)详解及实例代码
2017/01/10 Javascript
使用nodejs爬取前程无忧前端技能排行
2017/05/06 NodeJs
实现两个文本框同时输入的实例
2017/09/25 Javascript
旺旺在线客服代码 旺旺客服代码生成器
2018/01/09 Javascript
手把手教你如何编译打包video.js
2020/12/09 Javascript
Python升级提示Tkinter模块找不到的解决方法
2014/08/22 Python
python登录并爬取淘宝信息代码示例
2017/12/09 Python
Python之web模板应用
2017/12/26 Python
python使用Plotly绘图工具绘制散点图、线形图
2019/04/02 Python
Django如何防止定时任务并发浅析
2019/05/14 Python
导入tensorflow时报错:cannot import name 'abs'的解决
2019/10/10 Python
Python多进程编程常用方法解析
2020/03/26 Python
解决django migrate报错ORA-02000: missing ALWAYS keyword
2020/07/02 Python
python如何对链表操作
2020/10/10 Python
Abe’s of Maine:自1979以来销售相机和电子产品
2016/11/21 全球购物
J2EE面试题
2016/03/14 面试题
应聘医药代表职位求职信
2013/10/21 职场文书
新驾驶员个人自我评价
2014/01/03 职场文书
学生会干部自荐信
2014/02/04 职场文书
房产继承公证书
2014/04/09 职场文书
房地产资料员岗位职责
2014/07/02 职场文书
平安家庭事迹材料
2014/12/20 职场文书
离婚民事起诉状
2015/08/03 职场文书