Python获取央视节目单的实现代码

本文实例讲述了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程序设计有所帮助。

(0)

相关推荐

  • python采集百度百科的方法

    本文实例讲述了python采集百度百科的方法.分享给大家供大家参考.具体如下: #!/usr/bin/python # -*- coding: utf-8 -*- #encoding=utf-8 #Filename:get_baike.py import urllib2,re import sys def getHtml(url,time=10): response = urllib2.urlopen(url,timeout=time) html = response.read() respon

  • python实现的一个火车票转让信息采集器

    好吧,我承认我是对晚上看到一张合适的票转让但打过电话去说已经被搞走了这件事情感到蛋疼.直接上文件吧. #coding: utf-8 ''' 春运查询火车票转让信息 Author: piglei2007@gmail.com Date: 2011.01.25 ''' import re import os import time import urlparse import datetime import traceback import urllib2 import socket socket.s

  • Python天气预报采集器实现代码(网页爬虫)

    爬虫简单说来包括两个步骤:获得网页文本.过滤得到数据. 1.获得html文本. python在获取html方面十分方便,寥寥数行代码就可以实现我们需要的功能. 复制代码 代码如下: def getHtml(url): page = urllib.urlopen(url) html = page.read() page.close() return html 这么几行代码相信不用注释都能大概知道它的意思. 2.根据正则表达式等获得需要的内容. 使用正则表达式时需要仔细观察该网页信息的结构,并写出正

  • python采集博客中上传的QQ截图文件

    哎,以前写博文的时候没注意,有些图片用QQ来截取,获得的图片文件名都是类似于QQ截图20120926174732-300×15.png的形式,昨天用ftp备份网站文件的时候发现,中文名在flashfxp里面显示的是乱码的,看起来好难受,所以写了一个python小脚本,爬取整个网站,然后获取每个文章页面的图片名,并判断如果是类似于QQ截图20120926174732-300×15.png的形式就输出并将该图片地址和对应的文章地址保存在文件中,然后通过该文件来逐个修改. 好了,下面是程序代码: im

  • Python采集腾讯新闻实例

    目标是把腾讯新闻主页上所有新闻爬取下来,获得每一篇新闻的名称.时间.来源以及正文. 接下来分解目标,一步一步地做. 步骤1:将主页上所有链接爬取出来,写到文件里. python在获取html方面十分方便,寥寥数行代码就可以实现我们需要的功能. 复制代码 代码如下: def getHtml(url):      page = urllib.urlopen(url)      html = page.read()      page.close()      return html 我们都知道htm

  • python实现自动登录人人网并采集信息的方法

    本文实例讲述了python实现自动登录人人网并采集信息的方法.分享给大家供大家参考.具体实现方法如下: #!/usr/bin/python # -*- coding: utf-8 -*- import sys import re import urllib2 import urllib import cookielib class Renren(object): def __init__(self): self.name = self.pwd = self.content = self.doma

  • python网络爬虫采集联想词示例

    python爬虫_采集联想词代码 复制代码 代码如下: #coding:utf-8import urllib2import urllibimport reimport timefrom random import choice#特别提示,下面这个list中的代理ip可能失效,请换上有效的代理ipiplist  = ['27.24.158.153:81','46.209.70.74:8080','60.29.255.88:8888'] list1 = ["集团","科技&quo

  • Python获取央视节目单的实现代码

    本文实例讲述了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":"

  • python 获取网页编码方式实现代码

    python 获取网页编码方式实现代码 <span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"> </span><span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">

  • Python 获取项目根路径的代码

    在 运行,调试,打包成exe 三个不同场景下获取跟路径,用于解决获取资源文件绝对路径问题. 工具类代码如下: import sys import os class pathutil(object): """路径处理工具类""" def __init__(self): # 判断调试模式 debug_vars = dict((a, b) for a, b in os.environ.items() if a.find('IPYTHONENABLE')

  • 基于Python获取docx/doc文件内容代码解析

    这篇文章主要介绍了基于Python获取docx/doc文件内容代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 整体思路: 下载文件并修改后缀为zip文件,解压zip文件,所要获取的内容在固定的文件夹下:work/temp/word/document.xml 所用包,全部是python自带,不需要额外下载安装. # encoding:utf-8 import os import re import requests import zipf

  • Python获取远程文件大小的函数代码分享

    复制代码 代码如下: def getRemoteFileSize(url, proxy=None):    """ 通过content-length头获取远程文件大小        url - 目标文件URL        proxy - 代理  """    opener = urllib2.build_opener()    if proxy:        if url.lower().startswith('https://'):    

  • python获取beautifulphoto随机某图片代码实例

    Beautiful Photo!: http://www.beautifulphoto.net/ 复制代码 代码如下: import urllib2import re _random_url = r'http://www.beautifulphoto.net/plugin/RndArticle/'_img_patt = re.compile(r'<img src="http://www\.beautifulphoto\.net/upload/(\d+)\.jpg" />')

  • 利用python获取Ping结果示例代码

    前言 本文主要跟大家分享了关于利用python获取Ping结果的相关内容,分享出来供大家参考学习,下面话不多说,来一起看看详细的介绍吧. 示例代码: # -*- coding: utf-8 -*- import subprocess import re def get_ping_result(ip_address): p = subprocess.Popen(["ping.exe", ip_address], stdin = subprocess.PIPE, stdout = subp

  • python获取当前运行函数名称的方法实例代码

    python获取当前运行函数名称的方法实例代码 摘要: c/c++中获取函数所在源码名,函数名和行号的方法很简单 __FILE__,__FUNCTION__和__LINE__ python没有这种语法,但也可以通过某种方法得到,这里给出例子,使用异常信息得到[可能会损失性能] 直接贴代码[可参考python核心编程4.4] #获取调用该函数所在(被调用)的函数名 #author:peterguo@vip.qq.com def get_func_name(): import sys try: ra

  • Python获取当前路径实现代码

     Python获取当前路径实现代码 import os,sys 使用sys.path[0].sys.argv[0].os.getcwd().os.path.abspath(__file__).os.path.realpath(__file__) sys.path是Python会去寻找模块的搜索路径列表,sys.path[0]和sys.argv[0]是一回事因为Python会自动把sys.argv[0]加入 sys.path. 如果你在C:\test目录下执行python getpath\getp

  • Python获取CPU、内存使用率以及网络使用状态代码

    由于psutil已更新到3.0.1版本,最新的代码如下: #!/usr/bin/env python import os import time import sys import atexit import psutil #print "Welcome,current system is",os.name," 3 seconds late start to get data" time.sleep(3) line_num = 1 #function of Get

随机推荐