YouTube
ページを調べたところ、 div に id : の video 要素があるGoogle Chrome
ことに気付きました。player
player_VIDEOID
src Attribute
そして、このビデオ要素から取得したいと思います。だから私はこれで UIWebView をロードします:
NSURL *url = [NSURL URLWithString:@"http://m.youtube.com/watch?v=bnVUHWCynig"];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[web loadRequest:requestObj];
そして- (void)webViewDidFinishLoad:(UIWebView *)webView
この src リンクを抽出する関数を JavaScript で実装します。
[web stringByEvaluatingJavaScriptFromString:@"var script = document.createElement('script');"
"script.type = 'text/javascript';"
"script.text = \"function myFunction() { "
"var videoele = document.getElementById('player_bnVUHWCynig');"
"var url = videoele.getAttribute('src');"
"return url;"
"}\";"
"document.getElementsByTagName('head')[0].appendChild(script);"];
NSString * t = [web stringByEvaluatingJavaScriptFromString:@"myFunction();"];
そして、t
常に空の文字列と等しくなります。
このJS
関数を実行しようとしましたChrome
が、url はビデオ要素の src リンクです。
私はこの方法で何を間違えましたか??