从 App 参考网站实时更新状态

Posted

技术标签:

【中文标题】从 App 参考网站实时更新状态【英文标题】:Reference website live updating status from App 【发布时间】:2013-12-03 14:10:32 【问题描述】:

我有一个网站:http://www.grandforks.af.mil/library/weathercenter/index.asp

页面中间有一个标志,表示基地当前的路况。

每个条件的文件名相差 1 个数字。

绿色是 19 岁 黄色是20 红色是21

我无法控制此网站。

我的问题是如何在我正在构建的应用中显示当前的路况以反映网站?我不希望有任何用户输入我希望应用程序能够从网站中退出。我曾尝试使用 UIWebView 但我无法让它专注于页面的那个区域。如果我能做到这一点,那可能是更好的解决方案。

【问题讨论】:

【参考方案1】:

丑陋的解决方案: 您可以下载网站的 html,搜索字符串“http://www.grandforks.af.mil/shared/media/document/AFD-121002-”对其进行解析并获取实际 URL(类似于http://www.grandforks.af.mil/shared/media/document/AFD-121002-019.jpg)。 之后,您可以在 UIImageView 中加载该 URL,或者(更好地)区分并显示应用中包含的图像。

丑陋取决于这样一个事实,即如果他们更改图片的 URL,您的应用就会停止工作。

我建议当用户打开应用程序时,它会检查您的页面并最终下载您要查找的字符串。这样做,如果网站更改了 url,您可以手动修改源而不更新应用程序。

我不知道使用他人信息是否合法。


编辑: 这是我构建的一个示例,演示了如何对字符串进行子串化:

NSString *myString = @"11111www.the-site.com/img42.jpg222222222222222";
NSString *searchString = @"www.the-site.com/img";
NSRange range = [myString rangeOfString:searchString];
NSLog(@"searched string strart at character %lu, and it's long %lu charactrers", (unsigned long)range.location, (unsigned long)range.length);
NSInteger index = range.location + range.length;
NSString *mySubString = [myString substringFromIndex:index];
NSLog(@"string from the index: %@", mySubString);
//I know that the substring I'm looking for is long exactly 2 characters
NSString *the_answer = [mySubString substringToIndex:2];
NSLog(@"this should print 42: %@", the_answer);

我添加了一些打印,因此您可以逐步看到我在做什么。 显然你必须用“http://www.grandforks.af.mil/shared/media/document/AFD-121002-”来改变“searchString”,而myString是页面的html。

希望对你有帮助。

【讨论】:

所以我对解析有点陌生。你有什么办法可以帮助我吗?我不是要你写我的应用程序或任何东西。也许可以帮助我提高我的技能和应用程序。

以上是关于从 App 参考网站实时更新状态的主要内容,如果未能解决你的问题,请参考以下文章

Prometheus 仪表板未更新网站状态

如何从 React 中的父类更新我的子组件状态?

做一款资讯类APP如何获得资讯来源?

(php网站,图片管理)更新图片后,不能显示刚更新的图片

一些网站的推荐(长期更新)

HBuilder是否停止更新了,现在只能看到HBuilderX了