我正在为一个网站开发一个移动应用程序(兼容 iOS 5.0 及更高版本) ,用户可以直接从他们的登录页面查看某些数据。用户可以通过选择特定选项(即位置和/或日期)来细化结果。他们不提供任何网络服务调用,也不允许我们访问他们的数据库。所以我收集数据的唯一方法是直接“抓取”网站。
我的问题是我不知道如何通过手机的 http 请求对用户在网站上进行的更改。例如下面的网站:
可以从站点中提取并使用以下命令保存为字符串
NSString *html = [NSString stringWithContentsOfURL:urlrequest encoding:NSUTF8StringEncoding error:&err];
我能够分离相关数据:
// I decided to add the script function name in case anyone wanted to look for themselves
<script type="text/javascript" language="Javascript">
//<![CDATA[
function loadData(){
var winMsgTitle = "Date: 04/11/2012";
// this is the actual data I'm concerned with:
gLatLong = new GLatLng(31.59019444444444, -110.50655555555555);
tmpMapIcon = new MapIcon("0_0", 21, 15);
marker = createMarker(gLatLong, 0.0, createInfoWinMsg(winMsgTitle, ".00", ".84", "5711", "2012", "", "07:00"), tmpMapIcon);
map.addOverlay(marker);
point = null;marker = null;
gLatLong = new GLatLng(32.2938260182, -110.7896411419);
tmpMapIcon = new MapIcon("0_0", 21, 15);
marker = createMarker(gLatLong, 0.0, createInfoWinMsg(winMsgTitle, ".00", "1.00", "1254", "2012", "", "07:00"), tmpMapIcon);
map.addOverlay(marker);
point = null;marker = null;
gLatLong = new GLatLng(33.5966853633, -112.1744066477);
tmpMapIcon = new MapIcon("0_0", 21, 15);
marker = createMarker(gLatLong, 0.0, createInfoWinMsg(winMsgTitle, ".00", ".70", "256", "2012", "", "07:00"), tmpMapIcon);
map.addOverlay(marker);
point = null;marker = null;
注:明显有更多的点,这只是剪掉它
为了获得另一个位置或日期,我必须通过站点手动选择并选择右侧窗格中的选项。我的问题是,如何通过objective-c 以编程方式进行这些更改?