Python ile haber sitelerinden özet bilgiler indirmek
Bu dersimizde python ile haber sitelerine bağlanarak bazı temel bilgileri nasıl ayıklayacağımızı göreceğiz. İlk sitemiz bbc.com. Sonra da milliyet.com.tr adresine bağlanacağız.
[youtube https://www.youtube.com/watch?v=cj6UZ9QXwJo&w=560&h=315]
Bir önceki dersimizde kullandığımız urllib ve re paketlerini bu derste de kullanıyoruz.
Web sitesiyle bağlantı kurma ve sayfadaki bilgileri okuma işlemleri aynı.
Bu dersteki temel farklılık, while döngüsü içinde ek filtrelemelerin yapılması. Bu ek filrelerle hem ilgili haberin linkine, hem de başlık, kategori, özet ve detay gibi bilgilere ulaşıyoruz.
Daha ayrıntılı açıklamalar zaten videoda mevcut. Kodların tamamı da aşağıda.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# -*- coding: utf-8 -*- import urllib import re url ='http://www.bbc.com' #url ='http://www.milliyet.com.tr' page = urllib.urlopen(url).read() regex='div class="grid_5.*?">(.+?)</div>' #regex='div class="cHaber.*?">(.+?)</div>' pattern = re.compile(regex) haber=re.findall(pattern,page) print ("Haber adedi=", len(haber)) i = 0 while i < len(haber): detay=haber[i] pattern=re.compile('href="(.+?)"') haberlink=re.findall(pattern,detay) pattern2=re.compile('<a.*?>(.+?)</a>') habertext=re.findall(pattern2,detay) print ("link =",haberlink[0]) print ("kategori=",habertext[0]) if len(habertext)>1: print ("baslik=",habertext[1]) if len(habertext)>2: print ("ozet =",habertext[2]) j=2 while j<len(habertext): print ("detay =",habertext[j]) j+=1 print ("") i+=1 |
Sormak istediklerinizi yorum formuyla bana iletebilirsiniz.
Sonraki dersimizde mechanize paketini kullanarak Türkçe sorunumuza çözüm arayacağız.
Beni izlemeye devam edin.
ahmet aksoy
Önceki ders: http://webmaster.gamet.com.tr/python-ile-web-sitesinden-basliklari-cekmek/