Python Requests Modülü

Python Requests Modülü

Python Requests Modülü
Python Requests Modülü

Python Requests  Modülü Kullanımı

Python requests modülü web sayfalarına istek yollamamıza, kaynak kodlarını almamıza olanak sağlayan bir modüldür. Requests ile birlikte BeatifulSoup modülü de kullanılır. Çünkü requests ile sadece veri çekeriz, veriyi çözümlemekte BeatifulSoup modülünü kullanırız.

Neden Requests Modülü?

Python Requests Kütüphanesi

Requests çok hızlı bir modül olduğundan diğerlerine göre daha fazla kullanılmaktadır. Ayrıca requests’in get, post gibi kolay metotları mevcuttur. Son derece kolay olan kodları ile en çok kullanılan web kazıma modüllerinden biridir.

Python Requests Nasıl Kurulur? Python Requests Kurulumu

Requests kurulumu için terminal ekranımızı ya da powershell penceremizi açarak şu kodu yazıyoruz.
<span style="color: #555555;">pip install requests</span>
Bu kodla birlikte modülümüz başarıyla kurulur.
Kurduktan sonra projemize dahil etmeliyiz bu yüzden
<span style="color: #555555;">import requests</span>
kodunu yazıyoruz. Şimdi modülle ilgili komutlarımızı kullanabiliriz.
Öncelikle içeriğini çekeceğimiz siteyi tanımlamalıyız. Bunu 
<span style="color: #555555;">r = get("https://kod-akademisi.blogspot.com")</span><br />
kodunu yazarak yapabiliriz.. Ben sadece “get” yazdım çünkü projede modül eklediğim yerde
from requests.api import get 
yazdım. Sizde aynı şekilde kullanabilirsiniz.
Birde url’e parametre gönderebiliriz. 
<span style="color: #555555;">parametreler = {'parametre1': 'parametre2', 'p3': 'p4'}<br /></span>r = get('https://kod-akademisi.blogspot.com', params=parametreler)<br />
Bu şekilde url’e parametre gönderdik gönderdiğimiz parametrelerin nasıl göründüğünü, sayfanın hangi url’e gittiğini görmek için
print(r.url)
yazabiliriz. Böylelikle yönlendirme yapılan sayfa terminal ekranımıza yazdırılır.
Siteye ulaşılıp ulaşılmadığını kontrol etmemiz lazım 
<span style="color: #555555;">print(r.status_code)</span>
bu kod bloğu ile sayfanın yanıtını yazdırabiliriz. Eğer “status_code” komutu hata veriyorsa en başa gelip 
<span style="color: #555555;">from requests import status_codes</span>
yazmanız yeterli.
Eğer kod sonucu ekrana “200” yazdırılırsa sayfaya bağlanma başarılıdır. Ancak başka sayılar yazdırılırsa sorunlar vardır. Yazdırılan sayıların ne anlama geldiğini öğrenmek istiyorsanız buraya tıklayınız.
Burada dikkatinizi çekmek istediğim bir nokta var. Bize 200 cevabı gelmiş olabilir ama bağlanmadan önce hata almış sonra bağlanmış olabilir. Bunu görüntülemek istiyorsak
<span style="color: #555555;">print(r.history)</span>
koduyla sayfanın bağlanana kadar aldığı tüm durum kodlarını görebiliriz. Bize yazdırılan sonuç boşsa sayfaya hatasız bağlanılmış demektir.

Python Requests Sayfanın Kaynak Kodları Nasıl Alınır?

Python requests modülü ile sayfanın kaynak kodlarına erişmek için
<span style="color: #555555;">print(r.text)</span>
veya
<span style="color: #555555;">print(r.content)</span>
kodunu yazarız. Bu sayede sayfanın kaynak kodları terminal ekranımıza yazdırılır. Terminal ekranına yazdırılan içerik çok karışık geldiyse bunu bir txt dosyasına yazdırabilirsiniz.

Post Metodu 

Bir sayfaya post isteğinde bulunmayı istiyorsak şu kodları yazabiliriz:
<span><span style="font-size: 12px;">url = ("https://kod-akademisi.blogspot.com")<br /><br />myobj = {'somekey':'somevalue'}<br /><br />x = istekler.post (url, veri = myobj)</span></span>
böylelikle istediğimiz gibi post istekleri yollayabiliriz.

İstek Zaman Aşımı

Siteye belirtilen sürede ulaşılamazsa hata vermesi için aşağıdaki gibi kod yazabiliriz.
r = get("https://kod-adakemisi.blogspot.com", timeout=1)
Eğer siteye 1 saniyede ulaşılamazsa program hata verip kapanacaktır.
Python Requests modülü temelleri bunlardı. Çektiğimiz veriyi çözümlemek için BeatifulSoup kullanımıyla ilgili yazı en kısa zamanda yüklenecektir iyi günler.

Yorum yapın