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中二维阵列的变换实例
Oct 09 Python
Python连接MySQL并使用fetchall()方法过滤特殊字符
Mar 13 Python
Python计算斗牛游戏概率算法实例分析
Sep 26 Python
基于Python os模块常用命令介绍
Nov 03 Python
Python迭代器定义与简单用法分析
Apr 30 Python
PyQt5 pyqt多线程操作入门
May 05 Python
Python简单定义与使用二叉树示例
May 11 Python
Python爬虫之UserAgent的使用实例
Feb 21 Python
Python3实现从排序数组中删除重复项算法分析
Apr 03 Python
对YOLOv3模型调用时候的python接口详解
Aug 26 Python
PyCharm GUI界面开发和exe文件生成的实现
Mar 04 Python
python实现的人脸识别打卡系统
May 08 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生成自己的LOG文件
2006/10/09 PHP
几个学习PHP的网址
2006/11/25 PHP
解析PHP中的unset究竟会不会释放内存
2013/07/18 PHP
php使用parse_url和parse_str解析URL
2015/02/22 PHP
PHP内核探索之解释器的执行过程
2015/12/22 PHP
CI配置多数据库访问的方法
2016/03/28 PHP
Javascript的构造函数和constructor属性
2010/01/09 Javascript
javascript动画之圆形运动,环绕鼠标运动作小球
2010/07/20 Javascript
ExtJS如何设置与获取radio控件的选取状态
2014/01/22 Javascript
javascript中的作用域和闭包详解
2016/01/13 Javascript
node.JS md5加密中文与php结果不一致的解决方法
2017/05/05 Javascript
微信小程序自定义导航隐藏和显示功能
2017/06/13 Javascript
微信小程序实现城市列表选择
2018/06/05 Javascript
vue用Object.defineProperty手写一个简单的双向绑定的示例
2018/07/09 Javascript
webpack4 CSS Tree Shaking的使用
2018/09/03 Javascript
vue中的ref和$refs的使用
2018/11/22 Javascript
JavaScript对JSON数组简单排序操作示例
2019/01/31 Javascript
nuxt框架中对vuex进行模块化设置的实现方法
2019/09/06 Javascript
js 执行上下文和作用域的相关总结
2021/02/08 Javascript
Python实现字符串逆序输出功能示例
2017/06/24 Python
python 列表删除所有指定元素的方法
2018/04/19 Python
python保存文件方法小结
2018/07/27 Python
Python实现将Excel转换成为image的方法
2018/10/23 Python
Python OpenCV利用笔记本摄像头实现人脸检测
2020/08/20 Python
在Python中COM口的调用方法
2019/07/03 Python
Python使用matplotlib绘制Logistic曲线操作示例
2019/11/28 Python
Tensorflow--取tensorf指定列的操作方式
2020/06/30 Python
DERMAdoctor官网:美国著名皮肤护理品牌
2019/07/06 全球购物
《广玉兰》教学反思
2014/04/14 职场文书
政风行风自查自纠报告
2014/10/21 职场文书
2015七夕情人节宣传语
2015/07/14 职场文书
中秋节主题班会
2015/08/14 职场文书
2016年乡镇七一建党节活动总结
2016/04/05 职场文书
什么是执行力?9个故事告诉您:成功绝非偶然!
2019/07/05 职场文书
Django项目如何获得SSL证书与配置HTTPS
2021/04/30 Python
海贼王十大潜力果实,路飞仅排第十,第一可毁世界(震震果实)
2022/03/18 日漫