Python XMLTV grabber for Brazil(source-http://tudonoar.uol.com.br)
pytvgrab-br_uol的Python项目详细描述
tv grab brazil(source-http://tudonoar.uol.com.br/)
它需要python tv grabber库:pytvgrab lib
(请参见http://pytvgrab.sourceforge.net)
它用于从源网页提取信息并以xmltv格式输出。(版本0.5.15请参见
http://xmltv.sourceforge.net)
指南提供程序:http://tudonoar.uol.com.br提供3个级别的指南:
频道列表:这里我们获取其
节目列表的频道名称和url
+->;频道节目:这里我们获取节目名称和时间
对于通道
+->;程序信息:这里我们得到程序信息
My approach to grab the guide
=============
(供新的Grabbers开发人员使用)
仅分析所需的属性,如<;table>;、<;tr>;、<;td>;、<;a>;;和
仅分析一些属性,如:ref,…这个类基于tag类将html映射到一个与python等价的结构,tag类有一个名、属性、内容数据和子类。
它们是:
-get_channels():此函数知道如何获取通道
name和url并返回元组列表(name,url);
-get_programs():此函数知道如何从给定通道获取程序并返回元组列表;
-get_program_info():这知道如何获取程序
信息并返回包含已解析的xmltv数据的dict。
因此,要获取整个指南很简单:首先,我获取第一个
页面并使用get_channels()解析它,然后获取频道名称
和url。然后对于每个频道,转到该url并使用
get_programs()获取程序名称、开始时间和url。如果
程序有一个url,则获取它并使用get_program_info()获取其xmltv信息。
这种低耦合有助于打印
信息和调试。例如,主要函数获取
url,下载数据,对其进行处理并返回结果。所有这些
部分都是分开的。
当发生错误时,劫持者将文件转储并以-1退出
。
< BR/>< BR/>通知:您可以定义自己的函数!!!
注意:re_clean and clear_html()是完全可选的!这是
只是我用来摆脱胡说八道的东西,也许可以修复一些html错误。
它需要python tv grabber库:pytvgrab lib
(请参见http://pytvgrab.sourceforge.net)
它用于从源网页提取信息并以xmltv格式输出。(版本0.5.15请参见
http://xmltv.sourceforge.net)
指南提供程序:http://tudonoar.uol.com.br提供3个级别的指南:
频道列表:这里我们获取其
节目列表的频道名称和url
+->;频道节目:这里我们获取节目名称和时间
对于通道
+->;程序信息:这里我们得到程序信息
My approach to grab the guide
=============
(供新的Grabbers开发人员使用)
仅分析所需的属性,如<;table>;、<;tr>;、<;td>;、<;a>;;和
仅分析一些属性,如:ref,…这个类基于tag类将html映射到一个与python等价的结构,tag类有一个名、属性、内容数据和子类。
它们是:
-get_channels():此函数知道如何获取通道
name和url并返回元组列表(name,url);
-get_programs():此函数知道如何从给定通道获取程序并返回元组列表;
-get_program_info():这知道如何获取程序
信息并返回包含已解析的xmltv数据的dict。
因此,要获取整个指南很简单:首先,我获取第一个
页面并使用get_channels()解析它,然后获取频道名称
和url。然后对于每个频道,转到该url并使用
get_programs()获取程序名称、开始时间和url。如果
程序有一个url,则获取它并使用get_program_info()获取其xmltv信息。
这种低耦合有助于打印
信息和调试。例如,主要函数获取
url,下载数据,对其进行处理并返回结果。所有这些
部分都是分开的。
当发生错误时,劫持者将文件转储并以-1退出
。
< BR/>< BR/>通知:您可以定义自己的函数!!!
注意:re_clean and clear_html()是完全可选的!这是
只是我用来摆脱胡说八道的东西,也许可以修复一些html错误。