我编写了一个程序,它接收部分 rss 提要并输出完整的提要,但它是根据具体情况而定的。一个站点的配方与另一个站点的配方不同。所以我要做的是查看域基本名称(例如 nyt 或 wsj)并根据它选择一个模块。虽然我需要事先加载每个模块并为每个配方设置一个逻辑条件。
我需要的是一种将各个模块放在各自文件夹中的方法,当我解析出 url basename 时,我希望它查找模块,加载它并采取一些措施。所以我希望主代码库独立于模块。我希望将来能够添加模块,并且永远不要接触与它们交互的代码部分。
这是一个代码示例
if "nyt" == feed:
nyt.parser(posixpath.basename(url), urldir, rss_file_path, url, feed)
如您所见,我调用了单个模块的解析器。我有很多这些基于每个网站。我想reed feed,然后能够查找模块,加载它并调用它,然后如果它不存在,请报告它并尝试默认方法。