Php ile Sayfadaki Tüm Linkleri Toplamak

Bir bot sistemi yazmak istediğinizde genellikle kullanmanız gereken ihtiyaçlardan birisidir diyebilirim. Bot yapımında mantık budur. İlk olarak file_get_contents kullanarak sayfayı komple okumaktır. Ardından file_get_contents kullanarak parçalama işlemi yapabilir ve istediğimiz bütün alanları alabiliriz. Mantıken bize linkler lazım olduğu için <a href=””></a> bölümünü okumamız gerekecek. Php ile Sayfadaki Tüm Linkleri Toplamak için aşağıdaki yolu izlemek yeterli olacaktır.

$page = file_get_contents("https://www.harunalp.com");

preg_match_all("/href=\"([^\"]+)/i",$page,$link);
        
foreach ($link[0] as $row) 
{
    echo $row ."<br>";
}

Çıktı:

href=”https://www.harunalp.com/category/c-sharp/
href=”https://www.harunalp.com/category/javascript/
href=”https://www.harunalp.com/category/php/
href=”https://www.harunalp.com/category/jquery/
href=”https://www.harunalp.com/category/java/
… şeklinde olacaktır.Aynı şekilde sadece bir kategoriye ait yazıları almak istersek de site adresi/category yazarak erişebiliriz.

Eğer linklerin başındaki href yazısını kaldırmak isterseniz basit bir şekilde str_replace kullanarak ortadan kaldırabilirsiniz. Foreach içindeki alanı aşağıdaki gibi düzenleyerek href alanını temizleyebilirsiniz.

echo str_replace('href="','',$tek) ."<br>";

Bu şekilde php ile sayfalardan bilgi toplamak tüm linkleri çekme işlemini rahatlıkla yapabilirsiniz. Bot yapımının ilk ve önemli aşamalarındandır kendileri 🙂

AuthorHarun ALP

Bu adam , bilgi sahibi olduğu konularda makalelerini daha bilgilendirici hale getirip görseller ile süslüyor ve seo uyumlu makaleler ortaya çıkarıyor. Güncel webmaster konularını işlemekten keyif alıyor ve genelde her makale aslında bir sorunun çözümü niteliğinde.

5 thoughts on “Php ile Sayfadaki Tüm Linkleri Toplamak

  1. Gerçek anlamda çok faydalı bir makale olmuş dostum teşekkürler bazı konulardaki soru işaretlerinden bir tanesini sayende giderdim tekrar sağol. Özellikle php konusundaki bazı makalelerini iyi takip ediyorum iyi çalışmalar dilerim.

  2. harikasin kardesim cok saol. bir sorum olacak php acebiyim. sorum şu diyelim ki 5 linkimiz var ayni sayfada bunları iceriklerini nasıl alacagız söylersen cok sevinirim teşekkürler .

    • Kardeşim buyur, geç bakabildim ama istediğin şeyi buraya bırakıyorum : https://paste.laravel.io/5ff512ab-ec90-4bd7-8a07-e28ab09f2912

      Burada iki farklı şekilde kullanırsın ya o bahsettiğin 5 linkin içinde belli alanı alırsın ya da tüm linklerini toplarsın. Yorum alanını düzenle dilediğini kullan. Oradaki link değişkeni de senin sayfada paylaştığım linkler olacak sen kafana göre ayarla iyi çalışmalar 🙂

  3. merhaba peki linklerin içindeki verileri nasıl çekebiliriz.
    Örneğin; bir otel sitesi. site ismi resimleri çekilmiş. site linkleri çekilmiş. peki o linklerin içindeki otel adı gibi yerleri nasıl çekeceğiz.

    • Dostum bir arkadaş sormuştu kodları atmıştım buraya da bırakayım. https://paste.laravel.io/5ff512ab-ec90-4bd7-8a07-e28ab09f2912 bu linkte alt kısımda linkleri almak , üstünde ise o linklerin içeriğine girip (örneğin A linkinin kaynak kodlarında belirli html etiketleri arasındaki alanda başlık olduğunu varsayalım otel başlığı olsun) bunu almak için kullanabilirsin. Bu temelde bot mantığına giriyor zaten linkler alınır sonra linklerin içine girip almak istediğiniz tüm alanların başını ve sonunu belirler döngüye sokar çıktıyı alırsınız.

Basicgain.com Ekibi için bir yanıt yazın Yanıtı iptal et

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir