Python BeautifulSoup Haber Okuma Örneği

Python BeutifulSoup  html ve xml dosyalarını işlemek için oluşturulmuş bir modüldür.

BeautifulSoup modülü yardımıyla http://ekonomi.haber7.com sitesi üzerinden haber başlıkları, linkleri ve içeriklerinin çekilmesini adım adım anlatımı,

1. Modüllerin dahil edilmesi, çağrılması(request, BeautifulSoup) ve headers bilgilerin oluşturulmasını içerir. Headers bilgileri karşı site tarafından engellenmemek için kulanılır.

import requests
from bs4 import BeautifulSoup

#Site tarafından bloklanmamak için gönderdiğimiz tarayıcı bilgileri 
headers = requests.utils.default_headers()
headers.update({
'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0',
})

2. İstek yapılacak ve html/lxml dönüşümü yapılacak alanı belirtir.

print("Lütfen bekleyin... Haberler çekiliyor...\n")
url= "http://ekonomi.haber7.com/"
istek=requests.get(url,headers)
soup = BeautifulSoup(istek.content, "lxml")

3. Site içeresinden tespit edilen  haber başlıklarını ve linklerin yollarını belirtir.

print(" LİNKlER VE HABERLER ŞU ŞEKİLDE:\n ------------------------------")

#Learn News Name and Link From Website
haberler=soup.find_all("div",{"class": "title"})
linkler=soup.find_all("a",{"class": "news"})

4. Çekilen linkler içeresinden tekrar istek yaparak haber içeriğinin ekrana yazılmasını gösterir. 

sayi=1 # we use count for news
for i in haberler:

print(sayi, "-)", i.text)
sayi+=1

sayi =1
for i in linkler:

print(sayi, "-)", i.get("href"))
sayi+=1
istek2 = requests.get(i.get("href"), headers)
istek_soup = BeautifulSoup(istek2.content, "lxml")
print(istek2.status_code, "İstek durumu")
metin = istek_soup.find_all("div", {"class": "news-content"})
for j in metin:
print(j.text)

Python ile çekilen haber başlıkların ekran görüntüleri

python ile haber çekme

 

 

Python BeautifulSoup ile haber linkleri ve haber içerikleri

python BeautifulSoup ile haber okuma

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Yapılmış olan uygulamanın çalaştırılabilir veya tamamına ulaşmak için github asim06 adresinden elde edebilirsiniz.

3 thoughts on “Python BeautifulSoup Haber Okuma Örneği

Leave a Reply

Your email address will not be published. Required fields are marked *