Bir sitede bulunan linkleri çekmek için birçok yöntem vardır, ancak yapmak istediğiniz tam olaral nedir anlaşılmıyor. Bir siteden linkleri tek seferde mi çekmek istiyorsunuz?
server tarafında php kodları dahil hepsi HTML’ye çevrilir. Dolayısıyla linkleri bir HTML sayfasından çekmiş oluyoruz. Aşağıdaki kod ile adresim.html sayfasında bulunan bağlantı yazısını ve linki gösteriyoruz.

Diğer çözümleri de incelemenizi ve denemenizi öneririz
Bit html sayfasından bağlantı metni ve linki nasıl çekilir
https://stackoverflow.com/questions/4423272/how-to-extract-links-and-titles-from-a-html-page

$html = file_get_contents('adresim.html');
//Yeni bir DOM belgesi oluştur
$dom = new DOMDocument;
//HTML'yi analiz et. @ işareti herhangi bir analiz hatasını es geçmek için kullanılır.
//$html dizgisi geçerli bir XHTML değilse at

@$dom->loadHTML($html);

//Tüm linkleri çek. Burada diğer etiketleri de kullanabilirsiniz,
//'img' veya 'table' gibi diğer etiketleri de çek.
$links = $dom->getElementsByTagName('a');

//Çekilen bağlantıları sıralayın ve URL'sini gösterin
foreach ($links as $link){
//"href" bağlantırını çek ve göster.
echo $link->nodeValue;
echo $link->getAttribute('href'), '
';
}

php ile bir sayfada bulunan linkleri nasıl çekeriz
https://www.codexworld.com/extract-all-urls-from-web-page-using-php/
Başka bir çözüm:
https://techglimpse.com/php-script-extract-urls-webpage/

Gördüğünüz gibi bunun birçok çözümü var.
Not: Bir sayfada aynı linkten iki veya daha fazla olması SEO açısından iyi değildir. Yinelenen linkleri kaldırmayı deneyin.