Strona 1 z 1

[PHP] Pobieranie wszystkich linków ze strony www

: 07 sty 2016, 01:08
autor: F3nix
Napisałem dawno temu prostą funkcje w języku PHP pobierającą wszystkie odnośniki z podanej jako parametr strony www. Funkcja zwraca tylko unikalne odnośniki, a więc usuwa te powtarzające się. Może się komuś przyda kto chce napisać jakiś prosty crawlery lub skaner podatności WWW. Funkcja wykorzystuje wyrażenia regularne, file_get_contents (można zastopić cURL jeśli na serwerze jest dostępny). Jako parametr przyjmuje adres URL strony z której chcemy pobrać linki. Wartością zwracaną jest tablica do dalszej obróbki z odnalezionymi linkami.

Gotowy kod źródłowy z przykładem użycia:

Kod: Zaznacz cały

/*
 * @Author: http://haker.edu.pl/
 * @getLink($url) - Extract all links from URL
 */

function getLink($url) {
    $soruce = file_get_contents($url);

    $regEx = "<a\s[^>]*href=(\"??)([^\" >]*?)\\1[^>]*>(.*)<\/a>";
    if (preg_match_all("/$regEx/siU", $soruce, $foundLinks, PREG_SET_ORDER)) {
        $linki = array();
        $tmp = array();
        $sizeArray = sizeof($foundLinks);
        for ($i = 0; $i < $sizeArray; $i++) {
            $tmp[$i] = $foundLinks[$i][2];
        }
        $tmp = array_values(array_unique($tmp));

        $links = array();
        foreach ($tmp as $link) {
            array_push($links, trim($link));
        }
        return $links;
    }
}

//-------------------------------------
$links = getLink('http://wp.pl/');
foreach ($links as $link) {
    echo $link . '<br>';
}

Re: [PHP] Pobieranie wszystkich linków ze strony www

: 07 sty 2016, 01:18
autor: Kenjin
Na wstepie duzy PLUS za uzywanie regex'ow do tego, naprawde ulatwia to prace. Kiedys tez sie bawilem w proste web crawlery zwracajace linki(nawet gdzies mam pare skryptow, tyle ze ja uzywalem cURLa). W wolnej chwili chetnie to przetestuje i podziele sie wrazeniami, dzieki za skrypt.
Jedyna wada tego skryptu jest to ze zwraca takze linki macierzyste, czli prowadzace do tej samej domeny. Oczywiscie nie byloby w tym nic zlego gdyby zwracal z tej samej domeny ale z innego servera ale on leci od gory do dolu i zwraca tez podstrony :).

PHP Pobieranie wszystkich linkow ze strony www

: 11 lip 2019, 02:11
autor: BarryWaw
mam taki problem. Potrzebuje w JS pobrac kod pewnej strony i go zapisac. Czy w JS istnieje funkcja ktora by to wykonywala? Jesli tak to co to za funkcja?