html — как извлечь все данные, содержащиеся в теге div, с веб-сайта, используя сканеры php

у меня есть код для простого php crawler, который выбирает все html-страницы с веб-сайтов до глубины 5, но если я запускаю его для получения всех данных, содержащихся в теге div с его идентификатором, например [container, main, wrapper.etc] тогда он показывает неожиданный результат … вот код php ::

<?php
$a=$_POST['t1'];
function crawl_page($url, $depth = 5)
{
static $seen = array();
if (isset($seen[$url]) || $depth === 0) {
return;
}

$seen[$url] = true;

$dom = new DOMDocument('1.0');
@$dom->loadHTMLFile($url);

$anchors = $dom->getElementsByTagName('div');
foreach ($anchors as $element) {
$href = $element->getAttribute('id');
//$href = $element->find('div[id=main]', 0)->plaintext;
if (0 !== strpos($href, 'main')) {

$host = "http://".parse_url($url,PHP_URL_USER);
$href = $host. '/' . ltrim($href, '/');
}
crawl_page($href, $depth - 1);
}

echo "New Page:<br /> ";
echo "URL:",$url,PHP_EOL,"<br />","CONTENT:",PHP_EOL,$dom->saveHTML(),PHP_EOL,PHP_EOL,"  <br />        <br />";
}

crawl_page($a, 5);
?>

этот код работает хорошо для тегов привязки, но я хочу, чтобы он работал только для тега div, который выбирает все данные, содержащиеся в нем, больше ничего. Я хочу это для моего проекта, если кто-то сделал это, то помогите ……. HTML-код записан

<HTML>
<head>
<title></title>
</head>
<body>
<form method="POST" action="crawler1edit[2].php">
Enter Url:-<input type="text" name="t1">
<input type="submit" value="send" name="s1">
</form>
</body>
</HTML>

в атрибуте действия crawler1edit [2] .php — файл php, содержащий код php, написанный сверху

0

Решение

Есть ли причина, по которой вы не просто ориентируетесь на элементы div по идентификатору?

$dom->getElementById ("main");
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector