Semalt: PHP Web Sayfası Kazıma için 3 Adım

Web verisi çıkarma veya web toplama olarak da adlandırılan web kazıma, bir web sitesinden veya blogdan veri çıkarma işlemidir. Bu bilgiler daha sonra meta etiketler, meta açıklamalar, anahtar kelimeler ve bir siteye bağlantılar ayarlamak için kullanılır ve arama motoru sonuçlarındaki genel performansını artırır.

Verileri kazımak için iki ana teknik kullanılır:

  • Belge ayrıştırma - DOM (Belge Nesne Modeli) dosyalarına dönüştürülen bir XML veya HTML belgesi içerir. PHP bize harika bir DOM uzantısı sağlıyor.
  • Düzenli ifadeler - Web belgelerindeki verileri düzenli ifadeler şeklinde kazımanın bir yoludur.

Üçüncü taraf web sitesinin kazıma verileriyle ilgili sorun, bu verileri kullanma izniniz olmadığı için telif hakkı ile ilgilidir. Ancak PHP ile, telif hakları veya düşük kalite ile ilgili problemler olmadan verileri kolayca kazımanız mümkündür. Bir PHP programcısı olarak, kodlama amacıyla farklı web sitelerinden verilere ihtiyacınız olabilir. Burada diğer sitelerden nasıl verimli veri alacağımızı açıkladık, ancak bundan önce, sonunda index.php veya scrape.js dosyalarını alacağınızı aklınızda bulundurmalısınız.

Adım 1: Web Sitesi URL'sini girmek için Form Oluştur:

Her şeyden önce, Gönder düğmesini tıklatarak index.php'de form oluşturmanız ve verileri kazımak için web sitesi URL'sini girmeniz gerekir.

<form method = "post" name = "scrape_form" id = "scrap_form" acti>

Verileri Kazımak İçin Web Sitesi URL'sini Girin

<input type = "input" name = "website_url" id = "website_url">

<input type = "gönder" name = "gönder" value = "Gönder">

</ Form>

Adım 2: Web Sitesi Verilerini Almak için PHP İşlevi Oluşturun:

İkinci adım, scrape.php dosyasında veri almasına ve URL kitaplığını kullanmasına yardımcı olacağı için PHP işlev notları oluşturmaktır. Ayrıca, farklı sunucular ve protokollerle herhangi bir sorun yaşamadan bağlantı kurmanıza ve iletişim kurmanıza olanak tanır.

işlev scrapeSiteData ($ website_url) {

if (! function_exists ('curl_init')) {

die ('cURL yüklü değil. Lütfen yükleyin ve tekrar deneyin.');

}

$ curl = curl_init ();

curl_setopt ($ curl, CURLOPT_URL, $ website_url);

curl_setopt ($ curl, CURLOPT_RETURNTRANSFER, doğru);

$ output = curl_exec ($ curl);

($ Curl) curl_close;

$ çıktısı;

}

Burada, PHP cURL'nin düzgün kurulup kurulmadığını görebiliriz. İşlev alanında üç ana cURL kullanılmalıdır ve curl_init () oturumların başlatılmasına yardımcı olur, curl_exec () bunu yürütür ve curl_close () bağlantıyı kapatmaya yardımcı olur. CURLOPT_URL gibi değişkenler, kazımamız gereken web sitesi URL'lerini ayarlamak için kullanılır. İkinci CURLOPT_RETURNTRANSFER, kazınmış sayfaları varsayılan formundan ziyade değişken formda depolamaya yardımcı olacak ve sonuçta tüm web sayfasını görüntüleyecektir.

Adım 3: Web Sitesinden Belirli Verileri Kazıyın:

PHP dosyanızın işlevlerini ele alma ve web sayfanızın belirli bir bölümünü kazma zamanı. Belirli bir URL'deki tüm verileri istemiyorsanız, CURLOPT_RETURNTRANSFER değişkenlerini kullanarak düzenlemelisiniz ve kazımak istediğiniz bölümleri vurgulamalısınız.

if (isset ($ _ POST) [ 'to']) {

$ html = scrapeWebsiteData ($ _ POST ['website_url']);

$ start_point = strpos ($ html, 'Son Gönderiler');

$ end_point = strpos ($ html, '', $ start_point);

$ length = $ end_point- $ start_point;

$ html = substr ($ html, $ başlangıç_ noktası, $ uzunluk);

echo $ html;

}

Bu kodlardan herhangi birini kullanmadan veya kişisel amaçlar için belirli bir blog'u veya web sitesini kazımadan önce temel PHP ve Düzenli İfadeler bilgisini geliştirmenizi öneririz.