[Nasıl]Python ile webden resim çekme

Başlatan Jey@Nfer, 18 Kasım 2012 - 18:41:26

« önceki - sonraki »

0 Üyeler ve 2 Ziyaretçi konuyu incelemekte.

Jey@Nfer

Arkadaşlar ufaklığın birine ingilizce dersi verirken görsel öğe kullanmak istedim fakat hepsini teker teker internetten bulmak zor olacağı için bir web sitesindeki resimleri çeken ufak bir kod yazmaya karar verdim.

Bu küçük ama işlevsel kodcuk urllib modülüne örnek olabilir  belki ;) :

import urllib
import urllib2

kok="http://www.my-english-dictionary.com/"
for i in range(1,410): #sitede 410 tane resim var :)
url_i=kok+"eng"+str(i)+".htm"
url_r=kok+"eng"+str(i)+".jpg"
cevap = urllib2.urlopen(url_i)
kaynak = cevap.read()
kaynak=kaynak.split(".jpg")
kaynak=kaynak[1].split('"')
isim=kaynak[2]+".jpg"
urllib.urlretrieve(url_r.strip(), isim)



Kodları masaüstünde sozluk isimli bir klasorde indir.py olarak kaydederseniz komut satırından verdiginiz
~/Desktop/sozluk$ python indir.py
komutuyla çalıştırabilirsiniz.
Resimler, kodları çalıştırdığınız dizine, yani sozluk dizinine kaydolacaktır.

Düşük internet hızında komutu dondurabiliyor ; eğer düşük hızda interten kullanıyorsanız döngüyü tek seferse 410a çıkarmak yerine
100'er 100'er falan indirirseniz daha iyi olur gibi sanki :)

Ayrıca "&" işleciyle komut satırını meşgul etmeden arkada çalışmasını da sağlayabilirsiniz :)

Faydalı olması dileğiyle...
Hırs , azim , tevekkül ...

www.mehmetvahit.net

carcass


monthy_python

Başkasını bilemem, benim işime yaradı; elinize sağlık.
tek bir şey: range(1, 410) derseniz ikinci resimden başlar, range(410) demek lazım sanırım.

lütfen yazdığınız kodları "basittir, falandır" diye düşünmeden paylaşın, benim gibi yeni öğrenen kişilerin çok işine yarar bu basit (!) kodlar  :)

sem

Bence kodlar basit de değil. Amacına göre gayet geçerli, güzel bir örnek paylaşım olmuş.


Elinize sağlık.


Hem urllib hem de urllib2'yi kullanamanızı gerektirecek özel bir durum var mı? urllib ile yapılan fakat urllib2 ile yapılmayacak bir şey yoktu diye anımsıyorum ama yanılıyor olabilirim.
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

Jey@Nfer

@sem0900 urllib ile denemedim işin aslına bakarsak tam bilmiyorum :)
ayrıca teşekkürler arkadaşlar ben de pythonu yeni öğreniyorum ancak arasıra bir şeylere ihtiyacım oluyor direk aklıma betik gibi ufak kodcuklar yazmak geliyor sorunu otomatik olarak çözmek için , araştırp buluyorum :)
aslında çok detaylı bilgim yok  yani.
ayrıca httrack tarzı bir şey mi yazsam diyesim geldi şimdi :)
Hırs , azim , tevekkül ...

www.mehmetvahit.net

ct

Elinize sağlık.

urllib2 thread güvenliymiş (thread safe, çevirmeye gönlüm elvermedi bunu nihayetinde anahtar kelimeler). İnternetten gelen cevabı bekleme sorununu "thread" kullanarak çözebilirsiniz diye düşünüyorum. Python bilmiyorum ama farklı bişiler görmek için programınız bu yönde geliştirilebilir bence.

sem

Anladım, ben her ikisi de dahil edildiği için (import) sormak istedim.


Tekrardan elinize sağlık.
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?