Urllib Urlopen Fonksiyonu

Urllib2 Modülü İle Python Kullanarak Sitedeki Tüm Dosyaları Çekmek

Sitede yer alan 1’den 10000’e kadar olan fotoğrafları bilgisayarımıza indirmek istediğimizi varsayalım. Ya da html gibi not defteriyle açıldığında anlamlı sonuç vermeyen yani binary modda olan dosyaları indirmek için kullanabileceğimiz bir program. Verilen linkteki JPG dosyalarını çekiyor. Bulunmayan dosyaların yerine hata verilmemesi için bir try – except yapısı kullandık. Kodlarımıza bakalım: #-*-coding:utf8-*- import urllib2 for num in range(5,1500): try: num=str(num) adresim="http://foto.gurayyildirim.com.tr/fotolar/"+num+".JPG" print adresim a=urllib2.urlopen(adresim) c="gelenler/"+num+".JPG" b=file.open(c,"wb") b.write(a.read()) b.close() a.close() except: continue # TRY EXCEPT yapısını kullanma sebebimiz eğer o isimde dosya yoksa, yani # numaralar sırayla gitmiyorsa oluşacak olan hataları görmezden geldirme # bu sayede program takılmadan ilerler.

Python ve Urllib ile Bot Yapımı

Kullanmak nasip olmadı ancak bir siteden verileri çeken bir bot yapmıştım. Kodları verip kısaca açıklayayım. Tkinter kullanmıştım ancak ekleme sayısı düzgün çalışmıyor. Başlangıç numarasının verildiği dosyadan veriyi alıp program kapatılana kadar seri bir şekilde ekliyor. Verileri de re modülünün nimetlerinden yararlanarak ayrıştırdım. Aslında çok kısa sürede binlerce veri çekebiliyor ve çekilen sitenin de sağlığı düşünülürse ana döngüye time.sleep() eklemek mantıklı geldi. Kendi sitenizse bunu kaldırıp işleminizi hızlı yapabilirsiniz tabii ki sizin seçiminiz.