Разобрать URL-адреса Java Script на iPhone с помощью Hpple - PullRequest
1 голос
/ 06 марта 2012

Я пытаюсь извлечь URL из источника .htm, который содержит 3 других URL внутри кода java-скрипта. Я пытаюсь использовать Hpple.

Как разобрать на iPhone URL-адресав 'file' в исходном коде .htm ниже:

<html>
<head>
<script type="text/javascript" src="http://mydomain/jwplayer/jwplayer.js"></script>
</head>
<body>
<div id='container'>Player should appear here</div>
<script type='text/javascript'>
jwplayer('container').setup({
'flashplayer': 'http://mydomain/directory1/jwplayer/player.swf',
'controlbar.position': 'bottom',
'controlbar.idlehide': 'false',
'width': '550',
'height': '300',
'autostart': 'true',
'icons': 'true',


'playlist': [{
'file': 'http://http://mydomain/directory1/english/audio1.m4a', 
},{ 
    'file': 'http://http://mydomain/directory1/english/audio2.m4a', 
},{ 
'file': 'http://http://mydomain/directory1english/audio3.m4a', 
}],
repeat: 'list'


});


</script>
</body>
</html> 

1 Ответ

2 голосов
/ 07 марта 2012

Содержимое тега <script> не является HTML, поэтому hpple не сможет его проанализировать.Вам нужно использовать hpple, чтобы получить содержимое тега <script>:

TFHpple *doc = [[TFHpple alloc] initWithHTMLData:data];
NSString *scriptElement = [[doc searchWithXPathQuery:@"//script"] lastObject];
NSString *scriptContent = [scriptElement content];

Затем используйте NSRegularExpression , чтобы получить эти URL-адреса.

...