【问题标题】:How to extract "meta[content$=.mp4]/content" from html document in ios?如何从ios中的html文档中提取“meta[content$=.mp4]/content”?
【发布时间】:2017-08-29 17:37:27
【问题描述】:

我正在使用 hpple 库来解析 HTML 文档。我想提取视频 url 的 .mp4 链接和图像链接。 Html 标签如下所示:

<meta property="og:video" content="http://instagram.fbom1-1.fna.fbcdn.net/t50.2886-16/17686957_372561729804133_1618562720464896000_n.mp4">

代码:

NSURL *instagramUrl = [NSURL URLWithString:@"https://www.instagram.com/p/BSdePkEFfO-/?tagged=video&hl=en"];
NSData *htmlData = [NSData dataWithContentsOfURL: instagramUrl];

TFHpple *xpathParser = [[TFHpple alloc] initWithHTMLData:htmlData];
NSArray *elements  = [xpathParser  searchWithXPathQuery:@"//div[@id='preview']"]; 
TFHppleElement *element = [elements objectAtIndex:0];
NSString *string = [element content];
NSLog(@"%@", string);

我的 TFHppleElement 总是空的。我不知道这个人,请帮忙。

谢谢!

【问题讨论】:

  • 检查下面的链接可能对你有帮助stackoverflow.com/a/12185329/5184217
  • 谢谢你,@RajeshDharani 你给了我一个想法如何做到这一点。我的问题解决了。非常感谢!!!
  • 如果你发现这个答案是正确的,你检查这个答案是正确的。

标签: objective-c ios9 tfhpple


【解决方案1】:

//获取.jpg链接

 NSURL *cUrl = [NSURL URLWithString:url1];
    NSData *cHtmlData = [NSData dataWithContentsOfURL:cUrl];
    TFHpple *cParser = [TFHpple hppleWithHTMLData:cHtmlData];
    NSArray *elements = [cParser searchWithXPathQuery:@"//meta[@property='og:image']"];
    TFHppleElement *element = [elements objectAtIndex:0];
    NSDictionary *attributes = [element attributes];
    NSString *content1 = [attributes objectForKey:@"content"];

    NSLog(@"save instagram image content1=%@",content1);

//获取.mp4链接,在xPathQuery下面使用

NSArray *elements = [cParser searchWithXPathQuery:@"//meta[@property='og:video']"];

【讨论】:

    猜你喜欢
    • 2013-08-29
    • 2015-04-06
    • 1970-01-01
    • 2015-08-24
    • 1970-01-01
    • 1970-01-01
    • 2017-10-24
    • 2011-06-09
    相关资源
    最近更新 更多