📄 tv.ashx
字号:
<%@ WebHandler Language="C#" Class="TV" %>
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Text.RegularExpressions;
using System.Xml;
using System.Web;
using System.Xml.Xsl;
using System.IO;
//电视节目处理handler
public class TV : IHttpHandler
{
public string TVList(string url, string day)
{
//获得某天的电视节目页面
string str = Thief.Get("http://www.tvmao.com/ext/show_tv.jsp?c=" + url + "&day=" + day);
//过滤数据
str = str.Substring(str.IndexOf("<table id=\"main_body\">") + "<table id=\"main_body\">".Length);
str = " <table cellspacing=0 cellpadding=0 style=\"font-size:12px\">" + str;
string first = "";//日期导航
if (day != "7")//是周日
first = str.Substring(0, str.IndexOf("星期日</a> </td>") + "星期日</a> </td>".Length);
else
first = str.Substring(0, str.IndexOf("id=\"curWeek\">星期日</span></a> </td>") + "id=\"curWeek\">星期日</span></a> </td>".Length);
first = Regex.Replace(first, "(?<=href=)(.*?=)([^&]*)(&day=)(\\d*)", "'javascript:gettvset(\"$2\",\"$4\");'", RegexOptions.IgnoreCase);
if (day != "7")//是周日
str = str.Substring(str.IndexOf("星期日</a> </td>") + "星期日</a> </td>".Length);
else
str = str.Substring(str.IndexOf("id=\"curWeek\">星期日</span></a> </td>") + "id=\"curWeek\">星期日</span></a> </td>".Length);
str = str.Substring(0, str.IndexOf("</table>") + 8);
str = Tools.DelLink(str);//删除超链接
str = first + str;//合并
str = Tools.delOption(str);//删除控制符
if (str.IndexOf("TVMAO") != -1)//替换当没内容时的提示
str = str.Replace("TVMAO", "QuCha.Net");
return str;
}
//获得某省的电台数据
public XmlDocument TVArray(string p)
{
Sql s = new Sql();
//获得数据
string str = s.GetDS("select prov, classname,channel,url from tv where prov='" + p + "'").GetXml();
XmlDocument xml = new XmlDocument();
xml.LoadXml(str);//转化成xml
return xml;
}
public void ProcessRequest(HttpContext context)
{
if (context.Request["type"] == "0")//获取某省的电台数据
{
context.Response.ContentType = "text/xml";
context.Response.Write(TVArray(context.Request["p"]).OuterXml);
}
else//获取某电台特定时间的电视节目时间表
{
context.Response.ContentType = "text/plain";
context.Response.Write(TVList(context.Request["url"], context.Request["day"]));
}
}
public bool IsReusable//不重用
{
get
{
return false;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -