PHP の DOMDocument->loadHTMLFILE() に類似した JavaScript メソッドを探しているので、外部の HTML ファイルの内容を解析して画像を抽出できます。現在、私は ajax を介してそれを行っていますが、これは遅すぎます。
これは、画像をスクレイピングするために使用するPHPです。動作します。私は単に同じことをしたいのですが、ブラウザ側でより速くしたいのです。
if(isset($_POST['link']) && $_POST['link'] !== ""){
//extract relevant article info from link
$sourceArray = array();
$sizeArray = array();
$link = $_POST['link'];
//generate new DOMdoc
$article = new DOMDocument;
$article ->loadHTMLFile($link);
//get the largest image
$images = $article->getElementsByTagName("img");
foreach($images as $image){
$source = $image->getAttribute("src");
if(strpos($source, "http://") !== false){
$sizeProfile = getimagesize($source);
$imgArea = $sizeProfile[0] * $sizeProfile[1];
if($imgArea > 100){
array_push($sizeArray, $imgArea);
array_push($sourceArray, $source);
}
}
}
array_multisort($sizeArray, SORT_DESC, $sourceArray);
$sourceHTML = "";
$i = 0;
foreach($sourceArray as $source){
$id = 'image'.$i;
$sourceHTML .= '<img id="'.$id.'" class="notSelectedPicture" src="'.$source.'" onclick="toggleSelectedPicture(\''.$id.'\');" alt="alt">';
$i++;
}
echo $sourceHTML;
exit();
}