Сканирующий скрипт php - PullRequest
       2

Сканирующий скрипт php

1 голос
/ 11 апреля 2011

Я взял фрагмент скрипта для сканирования веб-сайта, разместил его на моем сервере, и он работает.Единственная проблема заключается в том, что если я попытаюсь отсканировать и установить глубину выше 4, это не сработает.Мне интересно, если это из-за недостатка ресурсов на серверах или самого кода.

<?php

error_reporting(E_ALL); 

function crawl_page($url, $depth)
{
    static $seen = array();
    if (isset($seen[$url]) || $depth === 0) {
        return;
    }
    $seen[$url] = true;

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

    $anchors = $dom->getElementsByTagName('a');
    foreach ($anchors as $element) {
        $href = $element->getAttribute('href');
        if (0 !== strpos($href, 'http')) {
            $href = rtrim($url, '/') . '/' . ltrim($href, '/');
        }
        crawl_page($href, $depth - 1);
    }
    echo "URL:",$url,PHP_EOL;
    echo  "<br/>";
}
crawl_page("http://www.mangastream.com/", 2);
?>

РЕДАКТИРОВАТЬ:

Я включил сообщение об ошибке для сценария, и все, что я получаю, это

Ошибка 324 (net :: ERR_EMPTY_RESPONSE): неизвестная ошибка.

1 Ответ

0 голосов
/ 11 апреля 2011

Убедитесь, что у вас есть все сообщения об ошибках (display_errors, error_reporting).Это должно помочь вам лучше понять, почему происходит сбой.

Кроме того, имейте в виду, что сканирование часто является незаконным в зависимости от того, что вы собираетесь делать с данными.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...