Использование Swift
Вы можете получить html-контент из URL веб-сайта, используя код ниже
let docString = webView.stringByEvaluatingJavaScriptFromString("document.documentElement.outerHTML")
В этом случае вы получите весь HTML-контент,
Затем найдите ссылки href внутри строки html
let regex = try! NSRegularExpression(pattern: "<a[^>]+href=\"(.*?)\"[^>]*>")
let range = NSMakeRange(0, docString.characters.count)
let matches = regex.matches(in: docString, range: range)
for match in matches {
let htmlLessString = (docString as NSString).substring(with: match.rangeAt(1))
print(htmlLessString)
}
Проверьте, если это URL-адрес YouTube, используя
Регулярное выражение: "@https?: // (www.)? Youtube.com/. [^ \ S.," \ '] + @ I "
Еще один способ добиться этого
Думай нестандартно!
Вы можете сделать вызов API, чтобы получить URL. Это кажется довольно простым, используя веб-языки, такие как php, .net и т. Д.
Код для получения всех URL-адресов внутри веб-страницы в PHP (используйте любой язык, который вам подходит)
$url="http://wwww.somewhere.com";
$data=file_get_contents($url);
$data = strip_tags($data,"<a>");
$d = preg_split("/<\/a>/",$data);
foreach ( $d as $k=>$u ){
if( strpos($u, "<a href=") !== FALSE ){
$u = preg_replace("/.*<a\s+href=\"/sm","",$u);
$u = preg_replace("/\".*/","",$u);
print $u."\n";
}
}
Чтобы проверить один за другим, если это URL-адрес YouTube.
$sText = "Check out my latest video here http://www.youtube.com/?123";
preg_match_all('@https?://(www\.)?youtube.com/.[^\s.,"\']+@i', $sText, $aMatches);
var_dump($aMatches);
Если вы хотите проверить, используют ли образцы приложений тот же метод, найдите прокси-сервер для отладки в Интернете и найдите его
Многие из приведенных выше объяснений взяты с других сайтов.
Надеюсь, это подойдет вам!
Удачного кодирования!