Objective-C&Cocoa Touch涉及iOS中屏幕抓取的问题

Apo*_*ARE 1 iphone xcode objective-c ios

我正在写一个破解URL www.drugs.com/imprints.php的iphone应用程序.它需要四个参数之一(名称,印记,颜色,形状),并将其插入到URL参数中,该参数如下所示:

http://www.drugs.com/imprints.php?action=search&imprint=%@&color=%@&shape=%@&drugname=%@
Run Code Online (Sandbox Code Playgroud)

以下是我编写的一段代码来进行抓取:

NSString *name = [[NSString alloc] initWithFormat:@"%@", [ask text]];
NSString *imprint = [[NSString alloc] initWithFormat:@"%@", [imp text]];
NSString *color = [[NSString alloc] initWithFormat:@"%@", [col text]];
NSString *shape = [[NSString alloc] initWithFormat:@"%@", [sha text]];

NSString *address = @"http://www.drugs.com/imprints.php?action=search&drugname=";
NSString *request = [NSString stringWithFormat:@"http://www.drugs.com/imprints.php?action=search&imprint=%@&color=%@&shape=%@&drugname=%@",imprint,color,shape,name];

NSString *escapedUrl = [request   
                        stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

NSURL *URL = [NSURL URLWithString:escapedUrl];

NSString *txtToScrape = [NSString stringWithContentsOfURL:URL encoding:NSASCIIStringEncoding error:&error];

    NSString *drugName= [[[[txtToScrape componentsSeparatedByString:@"q="] objectAtIndex:1] componentsSeparatedByString:@">"] objectAtIndex:0];    
    NSString *drugImage = [[[[txtToScrape componentsSeparatedByString:@"images/pills/mmx/"] objectAtIndex:1] componentsSeparatedByString:@");"] objectAtIndex:0];
    NSString *drugDesc = [[[[txtToScrape componentsSeparatedByString:@"/imprints/"] objectAtIndex:1] componentsSeparatedByString:@".html"] objectAtIndex:0];
Run Code Online (Sandbox Code Playgroud)

基本上代码所做的是将药物信息返回到视图,并将其放入字符串中.我正在使用componentsSeparatedByString,并在代码中找到各种"关键"标签和单词,并根据HTML中的这些工件返回/解析它们.

现在我的问题是,有更好的方法吗?我是iOS编程的新手,觉得我忽略了一些效率更高的东西.此外,如果我要在AppStore中分发这个,那么它是否合法,因为我正在抓第三方网站?我不打算出售它,而是免费赠送它.最后,我在UI中有一个退出按钮,iOS应用程序中有一个退出按钮的合法性是什么?Apple会不会因为它而引发红旗?(退出按钮确实退出(0);).

对不起,但我是Cocoa和iOS开发的新手,所以如果问题得到补救,请提前道歉.

Lee*_*e H 5

如果您查看www.drugs.com的服务条款,您可能会发现他们禁止未经授权复制其网站上发现的任何材料.话虽如此,它仍然是一个合法的灰色区域.像80legs这样的公司通过抓取禁止未经授权的复制然后销售结果的网站来获利.考虑到这一点,由于你的刮擦,你不太可能面临法律问题.

根据我在App Store上看过的其他应用程序,我认为Apple也不太可能注意到或关心它.