2015-07-19 56 views
1

有没有什么办法可以通过RSS提要从Wordpress网站的文章中获取标题,作者,日期和文本?我正在尝试创建一个可显示此信息的iOS应用程序(Xcode)。只从Wordpress网站获取文本,在iOS应用上显示

编辑: 我目前使用rshankras的'BlogReader代码从网站获取文章,但它显示了实际的链接到页面。我希望能够访问文章的标题,作者,日期和文本,并且能够自己设置格式,而不是让实际网站显示出来。如果可行,我可以使用哪些工具来做到这一点?

This是有问题的网站。

回答

1

由于RSS采用结构化XML格式,因此您可以简单地获取页面的rss feed并解析所需数据的元素。看到一些如何编码,可以签出mwaterfalls' Feedparser

e.g

<title>Girls softball dominating early</title> 
<link> 
http://vikinglogue.com/2377/sports/girls-softball-dominating-early/ 
</link> 
<comments> 
http://vikinglogue.com/2377/sports/girls-softball-dominating-early/#comments 
</comments> 
<pubDate>Wed, 22 Apr 2015 21:54:32 +0000</pubDate> 
3

您正在使用现成的应用程序,所以我认为,你将不得不修改自己成为你的目的。要按需显示内容,您需要操作HTML内容,而不是在WebView中查看它。

在您的应用程序中,WebView元素位于PostViewController.swift文件中。所以如果你把下面的代码放在那个文件的第24行中,你会得到正在被请求的URL。

println(url) 

此代码在控制台中打印输出。现在,你知道的网址。你可以简单地获取HTML代码和操作并显示为你的心脏想使用方式如下:

let pageurl = NSURL(string: url) //you got the url variable 3 lines above 
let task = NSURLSession.sharedSession().dataTaskWithURL(pageurl!) { 
(data, response, errror) in 
if error == nil { 
var urlContent = NSString(data: data, encoding: NSUTF8StringEncoding) as NSString! 
println(urlContent) 
} 
} 

这将打印使用UTF-8编码的完整的HTML代码字符串。

现在在postViewController中,不是使用WebView元素,而是使用标签或文本框或任何想要显示内容的内容。然后为该元素创建一个出口。然后通过下面的方式操纵HTML代码字符串:

var urlContentArray = urlContent?.componentSeparatedByString("<span class=\"storybyline\">") // In your website (vikinglogue.com) your author name is inside this span element. 
println(urlContentArray[1]) // This will print everything after that span section in your console 
var authorArray = urlContentArray[1].componentSeparatedByString("</span>") 
var author = authorArray[0] 

现在你有作者的名字,你可以显示它在任何文本框或标签或在支持文本的任何元素。您可以用相同的方式从该页面抓取所有其他信息。我希望它有帮助。

+0

会给这个镜头 - 绝对是一个可行的解决方案。谢谢! – JtiFe