ユーザーがランディング ページから特定のデータを直接表示できるWeb サイト用のモバイル アプリ (iOS 5.0 以降と互換性あり) を開発しています。ユーザーは、特定のオプション (場所や日付など) を選択して結果を絞り込むことができます。彼らは Web サービス呼び出しを提供しておらず、データベースへのアクセスを許可しません。したがって、データを収集する唯一の手段は、サイトを直接「スクレイピング」することです。
私の問題は、ユーザーが電話からの 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 を介してプログラムでこれらの変更を行うにはどうすればよいですか?