websiteのモバイルアプリ(iOS 5.0以上互換)を開発しています。ユーザーはリンク先ページから特定のデータを直接表示できます。ユーザーは、特定のオプション(場所や日付)を選択して結果を絞り込むことができます。 Webサービスコールは提供されず、データベースへのアクセスも許可されません。だから私の唯一のデータ収集の手段は、サイトを直接スクラップすることです。iOS用のjavascriptページからデータをスクラップするにはどうすればよいですか?
私の問題は、ユーザーが電話からの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を介してプログラムで行うのですか?
サイトには、必要なものがすべて含まれているmozillaのWebコンソールから呼び出せる「loadData」機能があることがわかりました。その関数を呼び出すことは可能ですか? – KronoS
それはうまくいくと思います。なぜそれを書いてテストしてみませんか? –
私はちょっと笑っています。 – KronoS