用RSS读新闻

RSS源是网站发布新闻的常用方式。RSS源其实就是一个XML文件,里面有新闻的摘要和链接。当然,你完全有能力写一个直接从网页读取RSS文件的C程序,但这涉及一些你没有接触过的编程概念。为什么不找一个程序帮忙处理RSS文件呢?

用RSS读新闻 - 图1

RSS Gossip脚本下载地址:

https://github.com/dogriffiths/rssgossip/zipball/master

如果你没有安装过Python,可以从这里下载:

http://www.python.org/

RSS Gossip是一个Python小脚本,它可以根据某个关键字在RSS源中查找新闻。你必须先安装Python才能运行这个脚本,一旦有了Python和rssgossip.py,就可以像这样搜索新闻:

用RSS读新闻 - 图2

用RSS读新闻 - 图3练习

编辑希望程序一次搜索多个RSS源,为此你可以为不同的RSS源多次运行rssgossip.py。幸运的是,兼职演员已经为你开了个头,但他们不会用exec()执行rssgossip.py脚本。为了运行脚本需要做哪些事?好好想想,然后完成newshound程序的代码。

用RSS读新闻 - 图4

想拿附加分?请回答……

程序运行时会做什么?

 

用RSS读新闻 - 图5练习解答

编辑希望程序一次搜索多个RSS源,为此你可以为不同的RSS源多次运行rssgossip.py。幸运的是,兼职演员已经为你开了个头,但他们不会用exec()执行rssgossip.py脚本。为了运行脚本需要做哪些事?好好想想,然后完成newshound程序的代码。

用RSS读新闻 - 图6

当运行程序时它会做什么呢?

用RSS读新闻 - 图7试驾

当你编译并运行程序时,看起来没什么问题:

用RSS读新闻 - 图8

newshound程序让rssgossip.py脚本使用了RSS源数组中的数据。

用RSS读新闻 - 图9

程序其实有问题。

newshound程序虽然运行了rssgossip.py脚本,但它并没有为所有RSS源都运行脚本。它实际上只显示了列表中第一条RSS源的新闻,而与搜索关键字匹配的其他新闻都不见了踪影。

用RSS读新闻 - 图10脑力风暴

再看一遍newshound程序,想一下它是怎么工作的。为什么它没能为第一条RSS源以外的其他RSS源运行rssgossip.py脚本?