Python Web Scraping & Api Coding
Python ile eriştiğimiz web adresinden istenilen veriyi parse edecek işlevde olan basit bir script kodlayacağız.
Öncelikle requests & urllib modüllerini import ediyoruz.
Kurulumlarını yapmak için ise pip'in kurulu olması gerekir.
Linux kullanıcıları :
apt update
apt install pip
pip install modul_adi
Windows kullanıcıları ise ; kolayca bulabilecekleri get-pip.py adlı dosyayı ; komut satırından ; python get-pip.py şeklinde çağırabilir.
Ardından ;
pip install modul_adi şeklinde kurulumu gerçekleştirebilirsiniz.
Path ayarlarını yapmanız ; yararınıza olacaktır.
Ardından python console'u açıyoruz.
Erişmek istediğimiz adresi ;
>>> url = 'http://www.bomch4nte.com'
değişkenine atadım.
Eriştiğim kaynaktan kodları çekiyorum ;
>>> touchcode = urllib.urlopen(url).read()
Ardından ayıklamak istediğim alanı ; düzenli ifadeler yardımıyla tanımlıyorum.
Örnek olarak bu sitenin anasayfasında tünelde görünen konuların başlıklarını çekelim.
Belirtilen alanda ayırt edici olan itemprop='url' title='X'
' X ' yeri parse etmek istediğim yeri regular expressions kısaltması olan kendi belirlediğim regex değişkenine atıyorum.
>>> regex = "itemprop='url' title='(.+?)'"
Ardından compile etmem gerek bu ifadeyi ;
>>> comp = re.compile(regex)
Compile etmek nedir diye sorar iseniz ; detaylı makaleye buradan erişebilirsiniz.
Ardından compile ettiğim ifadeyi ; touchcode değişkenine atadığım kaynak kod arasından bulduruyorum ;
>>> pars = re.findall(comp,touchcode)
basliklar adlı liste oluşturup bulduklarını insert etti.
Dilerseniz bakalım.
>>> print pars
>>> len(pars)
diyerek kaç başlık olduğunu görebilir , for döngüsüne alıp daha düzenli print edebilirsiniz.
>>> for baslik in pars:
print baslik