Nis 012015
 
2.483 views

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]

Python ile haber sitelerinden özet bilgiler indirmek

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.

# -*- 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/

 Bir yanıt bırakın

Bu HTML tagleri ve özellikleri kullanabilirsiniz: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(gerekli)

(gerekli)

This site uses Akismet to reduce spam. Learn how your comment data is processed.