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 相关文章推荐
SublimeText 2编译python出错的解决方法(The system cannot find the file specified)
Nov 27 Python
python实现通过pil模块对图片格式进行转换的方法
Mar 24 Python
Python之Web框架Django项目搭建全过程
May 02 Python
python中hashlib模块用法示例
Oct 30 Python
解决python中os.listdir()函数读取文件夹下文件的乱序和排序问题
Oct 17 Python
Python爬取数据保存为Json格式的代码示例
Apr 09 Python
Pandas 重塑(stack)和轴向旋转(pivot)的实现
Jul 22 Python
python tkinter的消息框模块(messagebox,simpledialog)
Nov 07 Python
Python操作PostgreSql数据库的方法(基本的增删改查)
Dec 29 Python
Python 里最强的地图绘制神器
Mar 01 Python
pandas数据分组groupby()和统计函数agg()的使用
Mar 04 Python
基于PyTorch实现一个简单的CNN图像分类器
May 29 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
实例说明js脚本语言和php脚本语言的区别
2019/04/04 PHP
自动完成JS类(纯JS, Ajax模式)
2009/03/12 Javascript
javascript题目,重写函数让其无限相加
2012/02/15 Javascript
jquery插件制作 自增长输入框实现代码
2012/08/17 jQuery
利用JS实现浏览器的title闪烁
2013/07/08 Javascript
js综合应用实例简单的表格统计
2013/09/03 Javascript
子页向父页传值示例
2013/11/27 Javascript
JS OffsetParent属性深入解析
2014/01/13 Javascript
HTML5 实现的一个俄罗斯方块实例代码
2016/09/19 Javascript
JavaScript 继承详解(六)
2016/10/11 Javascript
JavaScript登录验证码的实现
2016/10/27 Javascript
教你一步步用jQyery实现轮播器
2016/12/18 Javascript
JavaScript中清空数组的三种方式
2017/03/22 Javascript
vue动态生成dom并且自动绑定事件
2017/04/19 Javascript
angular中实现li或者某个元素点击变色的两种方法
2017/07/27 Javascript
vue2.0 和 animate.css的结合使用
2017/12/12 Javascript
记一次vue去除#问题处理经过小结
2019/01/24 Javascript
node微信开发之获取access_token+自定义菜单
2019/03/17 Javascript
node.js 微信开发之定时获取access_token
2020/02/07 Javascript
vue实现简单跑马灯效果
2020/05/25 Javascript
[36:54]Mineski vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python中的默认参数实例分析
2018/01/29 Python
详解python OpenCV学习笔记之直方图均衡化
2018/02/08 Python
python实现坦克大战
2020/04/24 Python
基于python和flask实现http接口过程解析
2020/06/15 Python
keras的load_model实现加载含有参数的自定义模型
2020/06/22 Python
Booking.com荷兰:全球酒店网上预订
2017/08/22 全球购物
阿根廷旅游网站:almundo阿根廷
2018/02/12 全球购物
UNIX特点都有哪些
2016/04/05 面试题
大学旷课检讨书
2014/01/28 职场文书
护士岗位职责
2014/02/16 职场文书
六年级学生评语
2014/04/22 职场文书
百日安全生产活动总结
2014/07/05 职场文书
2015年全国爱眼日活动方案
2015/05/05 职场文书
Python实现提取PDF简历信息并存入Excel
2022/04/02 Python
css让页脚保持在底部位置的四种方案
2022/07/23 HTML / CSS