[英]'Pull' Images and Specific Text from a Website using Objective-C
顾名思义。 我看过这个问题的其他版本,它们并不能完全满足我的要求。
我的目标是从网站提取数据。 例如,假设这个宠物收养网站 。 从这里,该应用程序将能够指定您是否想要猫,狗,豚鼠,鸟,龙等等。 然后,它将带您到一个显示以下内容的ViewController
:
当然,我将能够显示所有信息,但是我不太擅长在线功能。
如何获取上述信息并将其存储为可以用来查看动物的方式?
您只能通过javascript与网络视图进行交互。 您只能传输“字符串数据” ..因此,获取图片的方法必须是:在JS端转换base64编码的数据,传输并在objC中使用它,然后重建UIImage。
不重新发明轮子,我想提出自己的项目(免责声明:自己的代码):
它为IOS和OSX提供了易于使用的Javascript-ObjC桥-部分基于JSBridge项目的思想
这是一个很晚的答案,但我认为它可能仍对您的未来有所帮助。 您可以解析网站,这是正确的方法,但是我将向您展示如何以不同的方式进行分析,这也可以用于读取xml,html,.com,任何内容以及.rss,因此它可以阅读RSS Feed。
这里 :
这可以得到您的第一段,如果您要求,我将向您展示如何获得第二段,依此类推。 因此,如果您想赚钱,请更改扫描仪以找到$
Title是名称,但如果没有告诉我,我将向您展示如何获取第二个标题或标题。 看到这个和下来。 我将向您展示如何从整个网站获取html或xml,以便您可以看到网站的整个代码并查找,因此请先阅读网站,然后阅读代码,然后在代码查找中看到狗的名字。标题标签下或标题下的内容,然后根据需要更改代码,请阅读整篇文章以了解所有内容。 以下是如何获取信息的主要代码。 转到第二个代码块,以了解如何在日志或控制台中获取网站的代码。 要查找您的图像,请通过NSLog并查找任何图像链接,例如www.example.com/images/image.jpg或image.png或image.gif或某些图像扩展名,然后查看启动此代码的代码是或在html和xml中有100个图像代码,请在代码中查找url,然后在扫描仪中使用它来更改
到您的代码,然后确保仅图像的url仍然存在,就像不断将其缩短直到您只有URL为止。
所以你有了
您想要的:www.example.com/images/image.jpg
您将使用下面的扫描仪并更改
到<media:content url:\\"
因此将其扫描到静态,因此,如果您知道该部分将始终相同,则将其扫描到该位置,然后扫描仪的第二部分以\\"
结尾\\"
看到大代码下面的第一个代码块了吗? 这是我们需要更改的部分-
NSString * webString2222 = mastaString;
NSScanner *stringScanner2222 = [NSScanner scannerWithString:webString2222];
NSString *content2222 = [[NSString alloc] init];
//Change <p> to suit your need like <description> or <h1>
[stringScanner2222 scanUpToString:@"<p>" intoString:Nil];
[stringScanner2222 scanUpToString:@"." intoString:&content2222];
NSString *filteredTitle = [content2222 stringByReplacingOccurrencesOfString:@"<p>" withString:@""];
description.text = filteredTitle;
在我们的情况下,我们将此部分更改为-
[stringScanner2222 scanUpToString:@"<media:content url:\"" intoString:Nil];
[stringScanner2222 scanUpToString:@"\">" intoString:&content2222];
现在它具有url,但扫描仪的第一部分始终保留,因此请使用-
NSString * filteredTitle = [content2222 stringByReplacingOccurrencesOfString:@“
然后使用它下载图像-
NSURL * imageURL = [NSURL URLWithString:[filteredTitle stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
NSData *imageData = [NSData dataWithData:UIImagePNGRepresentation([UIImage imageWithData:[NSData dataWithContentsOfURL:imageURL]])];
UIImage * image = [UIImage imageWithData:imageData];
[imageView setImage:image];
//这是您的URL NSURL * URL = [NSURL URLWithString:@“ URL HERE”]; //这是您提取(不要更改)的数据NSData * data = [NSData dataWithContentsOfURL:URL];
// Assuming data is in UTF8. (dont change)
NSString *string = [NSString stringWithUTF8String:[data bytes]];
//Your textView your not done.
description.text = string;
//Do this with your textview
NSString *webStringz = description.text;
// Leave this
NSString *mastaString;
mastaString = webStringz;
{
NSString *webString2222 = mastaString;
NSScanner *stringScanner2222 = [NSScanner scannerWithString:webString2222];
NSString *content2222 = [[NSString alloc] init];
//Change <p> to suit your need like <description> or <h1>
[stringScanner2222 scanUpToString:@"<p>" intoString:Nil];
[stringScanner2222 scanUpToString:@"." intoString:&content2222];
NSString *filteredTitle = [content2222 stringByReplacingOccurrencesOfString:@"<p>" withString:@""];
description.text = filteredTitle;
}
头衔? 同样的协议修改<p>
到<title>
在RSS <description>
和<title>
。 图片 ? 同样的操作可以将<p> to what ever your RSS or website uses to get a image to find But remember for both of them when you change the
更改为<p> to what ever your RSS or website uses to get a image to find But remember for both of them when you change the
`您看到的链接显示您的stringByReplacingOccurences也必须更改。
出来,那么您必须删除它并使代码如下:
//This is your URL
NSURL *URL = [NSURL URLWithString:@"URL HERE"];
//This is the data your pulling (dont change)
NSData *data = [NSData dataWithContentsOfURL:URL];
// Assuming data is in UTF8. (dont change)
NSString *string = [NSString stringWithUTF8String:[data bytes]];
//Your textView your not done.
description.text = string;
NLog(@"%@", string)
//Do this with your textview
NSString *webStringz = description.text;
// Leave this
NSString *mastaString;
mastaString = webStringz;
现在检查您的日志,它显示您整个网站的html或rss代码,然后滚动并阅读它,找到您的图像链接,并在它之前检查代码,然后将String Scanner更改为您的需求,这非常棒,您必须更改stringByReplacingOccurences 。
就像我说的那样,当您使用这种方法来处理图像时,图像会有些棘手,但是一旦您学会了XML解析,它就会容易得多,大声笑。 如果您有要求,我会告诉您如何做。 告诉我您在浏览html或xml时是否遇到问题,然后再次指定哪个网站,我将进行浏览,并告诉您如何获取所需的一切。 确保 :
如果您想让我向您展示如何使用XML进行操作,请发表评论。 如果您想让我告诉您如何找到第二段或图片或标题或其他内容,请评论。
如果您仅需任何评论。
再见,我提供的代码很有趣,有什么不对劲! !!!!
:d
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.