编程语言
首页 > 编程语言> > 爬虫脚本php

爬虫脚本php

作者:互联网

我在这里抓取了一段脚本来抓取网站,并将其放在我的服务器上,并且可以正常工作.唯一的问题是,如果我尝试将深度设置为高于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):未知错误.

解决方法:

尝试确保已打开所有错误消息(display_errors,error_reporting).这应该使您更加了解崩溃的原因.

另外,请记住,根据您将要处理的数据,爬网通常是非法的.

标签:php,web-crawler
来源: https://codeday.me/bug/20191013/1906039.html