扫描网站中的图像-Xcode



我正在制作一个应用程序,它会给我最新的新闻和图片。我通过制作这样的扫描仪来实现文本。

    NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
    /* set headers, etc. on request if needed */
    [request setURL:[NSURL URLWithString:@"http://stackoverflow.com/questions/22671347/nsuinteger-should-not-be-used-in-format-strings"]];
    NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:NULL error:NULL];
    NSString *html = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
    NSScanner *scanner = [NSScanner scannerWithString:html];
    NSString *token = nil;
    [scanner scanUpToString:@"<p>" intoString:NULL];
    [scanner scanUpToString:@"</p>" intoString:&token];
    int length = 3;

   token = [token substringFromIndex:length];
    textView.text = token;

现在我想知道我是否可以使用相同类型的代码扫描网站,找到第一张图像,并将其放在图像视图中。此外,它不必是相同类型的代码,发布您所知道的内容和任何方法。

总结是.

想要一段扫描网页的代码,提取第一个图像并将其放置在图像视图中。

感谢那些花时间帮助我的人。

再次感谢!!!再见!!!

NSScanner不是一个仅用于扫描NSString对象中的值的HTML解析器。如果你做了一次奇怪的扫描,你可能会逃脱惩罚,但这似乎不是。。。

CORRECT方法是使用Xcode中包含的Libxml2库,该库仅用C编写,没有任何Objective-C/Swift包装器。Libxml2是为Gnome项目开发的XMLC解析器和工具包。或者,我建议使用开源项目,如HTMLReader。它是一个在Objective-C和Foundation中带有CSS选择器的HTML解析器。它像浏览器一样解析HTML,并且都是用Objective-c编写的。

示例(使用HTMLReader):

HTMLDocument *document = [HTMLDocument documentWithString:html]; // get your html string
NSLog(@"IMG: %@", [document firstNodeMatchingSelector:@"img"].textContent); // => image returned here

要查找图像,只需将标签更改为<img>和你的布景!!

如果您使用Libxml2,请查看HTMLparser.c头文件以解析和检索HTML ltags

最新更新