Monthly Archives: Ağustos 2013

Programa Dilleri ve Çatıları

PHP ile Crawling İşlemi

PHP ile Data Crawling

Eğer sizde benim gibi crawler yazmayı seviyorsanız, PHP nin DOMXPath objesi bu işi gerçekten oldukca kolaylaştırıyor. Ben daha önceki kendi denemelerimde metin işleme yoluyla aradığım veriye ulaşmayı tercih ediyordum. Ancak bu yöntem zaman açısından oldukca maliyetli oluyordu. Bunun yerine xPath sorgusundan yararlanarak veri çekmek gerçekten çok kolay.

Örnek olarak bigpara.com sitesindeki Dolar kurunun alış fiyatını crawle edelim. İlk olarak crawler kodumuzu yazalım.

mycrawler.php:

$url = ''; # Bu degiskenin icinde crawle edecegimiz sitenin url bilgisi yeralacak.
$xpath = ''; # Bu degiskenin icinde crawle edecegimiz verinin xpath adresi yeralacak.
$htmlContent = file_get_contents($url);
if(!$htmlContent) {
  throw new Exception('Failed to connection.');
}
libxml_use_internal_errors(true);   
$domObj = new DOMDocument();
$domObj->loadHTML($htmlContent);
$xPathObj = new DOMXPath($domObj);
$value = $xPathObj->query($xpath)->item(0)->firstChild->nodeValue;
print $value . PHP_EOL;

Şimdi de crawle edeceğimiz verinin xpath adresini alalım. Bu işlem için google chrome tarayıcısından yararlanacağız. XPath adresini tespit etmek için:

* Sayfayı google chrome ile açtıktan sonra verinin bulunduğu alanda fare ile sağ tıklayarak Inspect Element seçeneğine tıklayın.

* Tarayıcının alt kısmında açılan bölümdeki html kodları arasında okumak istediğiniz metni bulun ve üzerine sağ tıklayarak Copy as xPath seçeneğine tıklayın.

Şimdi de edindiğimiz xpath ve url bilgisini kodumuzun içine yerleştirelim.

$url = 'http://www.bigpara.com/dolar/?bprtme=1463181297&sTo=301'; # Bu degiskenin icinde crawle edecegimiz sitenin url bilgisi yeralacak.
$xpath = '//*[@id="content"]/div[2]/div[1]/div[3]/div[2]/strong'; # Bu degiskenin icinde crawle edecegimiz verinin xpath adresi yeralacak.
...

Artık kodumuzu çalıştırmaya hazırız. Hemen bir terminal açalım ve php betiğimizi çalıştıralım.
shell:

$ php mycrawler.php

Sonuç:

1,985
Genel

Kopyalamaya Karşı Korumalı DVD’lerin Yedeklenmesi

Bugün elimdeki bazı eski dvd filmlerini çizilme gibi duurmlara karşı yedeklemek istedim ancak sağolsun ubuntu bilinen iso oluşturma metodlarıyla dvdleri bir türlü okuyamadı. Eski windows düşman olmaz diyerekten windows kurulu olan diskimi bilgisayara bağlayıp aynı işlemi tekrarladığımda ise kopylamak istediğim filmin kopyalama koruması olduğunu öğrendim. Biraz araştırdıktan sonra aşağıdaki adımları uygulayarak K9copy isimli bir yazılımla kopyalama koruması olan DVD’lerin nasıl kopyalanabildiğini öğrendim. Sizde aşağıdaki adımları uygulayarak kopylamaya karşı korumalı dvd lerinizi yedekleyebilirsiniz.

1. İlk olarak apt-get paket yöneticisiyle k9copy yazılımını kuralım.

$ apt-get install k9copy

2. k9copy nin tüm fonksiyonları ile çalışabilmesi ve encrypted dvdleri okuyabilmesi için libdvdcss2 isimli paketin yüklenmesi gerekiyormuş.

64 bit işletim sistemi için:

$ wget -c http://packages.medibuntu.org/pool/free/libd/libdvdcss/libdvdcss2_1.2.10-0.3medibuntu1_amd64.deb
$ sudo dpkg -i libdvdcss2_1.2.10-0.3medibuntu1_amd64.deb

32 bit işletim sistemi için:

$ wget -c http://packages.medibuntu.org/pool/free/libd/libdvdcss/libdvdcss2_1.2.10-0.3medibuntu1_i386.deb
$ sudo dpkg -i libdvdcss2_1.2.10-0.3medibuntu1_i386.deb

Hepsi bu. Artık uygulama menünüzden k9copy uygulamasını çalıştırarak kolayca kopyalama korumalı DVD lerinizi yedekleyebilirsiniz.

Edit 2014-06-14:
Paketlere alternatif olarak aşğıdaki adresten de ulaşabilirsiniz:
http://download2.polytechnic.edu.na/pub4/sourceforge/s/su/super-os/repo/pool/main/libd/libdvdcss/