gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 17:27:49 25 4
gpt4 key购买 nike

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

http://www.drugs.com/imprints.php?action=search&imprint=%@&color=%@&shape=%@&drugname=%@

这是我为进行抓取而编写的一段代码:
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];

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

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

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

最佳答案

如果您查看 www.drugs.com 的 TOS,您可能会发现他们禁止未经授权复制在其网站上发现的任何 Material 。话虽如此,它仍然是一个合法的灰色地带。像 80legs 这样的公司通过爬取禁止未经授权复制的网站然后出售结果来获利。考虑到这一点,您不太可能因抓取而面临法律问题。

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

关于iphone - iOS 中涉及屏幕抓取的 Objective-C 和 Cocoa Touch 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7436188/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com