파이썬 이미지 크롤링 메인

파이썬 이미지 크롤링 및 urlretrieve 오류 해결방법

파이썬 내가 원하는 사이트에서 사진을 마음껏 가져오는 기법을 파이썬 이미지 크롤링 이라고 합니다. 이 기술을 활용하면 일일이 파일을 캡쳐하거나 다운로드 받을 필요가 없이, 10초도 안되는 시간에 자동적으로 이미지를 저장할 수 있게 됩니다.

따라서 이번 컨텐츠에서는 파이썬 이미지 크롤링 방법에 대해 알아보고자 합니다. 많은 분들이 궁금해하는 구글 이미지 크롤링 사례를 통해서 배워보시기 바랍니다.

파이썬 이미지 크롤링 개괄

 

이미지 크롤링을 할 때는 대표적인 파이썬 모듈 크롤러 2가지를 사용할 수 있습니다. 하나는 Selenium, 또 하나는 Requests 방식입니다. 전자의 경우에는 웹브라우저를 열어 마우스와 키보드를 통제하는 방식이고, 후자의 경우에는 사이트 URL에 요청을 보내어 원하는 응답을 받는 과정입니다.

개인적으로 Selenium도 훌륭한 모듈이기는 하지만, 웹브라우저를 직접 열어야 하고 그 과정에서 오류가 많이 발생하기 때문에 Requests 방식을 선호합니다. 구글 이미지 크롤링도 Requests 방식으로 충분히 가능하며, 본 컨텐츠에서 소개할 것입니다.

그 전에 파이썬 실행 프로그램에서 새 터미널 창을 열고, pip install requests 명령어를 입력하여 모듈을 설치해줍니다.

 

파이썬 이미지 크롤링

 

Requests 모듈 사용하기

 

서버와의 통신

 

Requests를 사용하기 위해서는 통신 방식을 결정해야 합니다. 통신 방식은 GET방식과 POST 방식이 있는데, 전자의 경우에는 정적크롤링, 후자의 경우에는 동적크롤링에 주로 사용됩니다. 즉 GET 방식은 한 번의 검색으로 고정된 데이터를 가져오는데 적합한 통신방식인 반면 POST 방식은 계속적으로 변동하는 데이터를 가져오는데 적합합니다.

 

URL 획득

 

이제 서버에 데이터를 요청할 URL 주소를 확보해야 합니다. 방법을 어렵지 않습니다. 구글 메인에 접속한 후, 검색어를 입력하고 이미지 검색을 실시합니다. 삼각형으로 검색하고, 이미지 탭을 클릭한 후 인터넷 주소창에 뜨는 URL을 관찰해보겠습니다.

 

 

파이썬 이미지 크롤링 검색

 

금방 아시겠지만, “https://www.google.com/search?q=” 주소 앞에 “삼각형” 이라는 단어가 쓰여 있는 것을 알 수 있습니다. 여기서 “삼각형”을 “사각형”으로 바꾸어 보겠습니다. 그렇게 하면 검색결과로 “사각형”이 나옴을 알 수 있습니다. 즉, 내가 검색하고자 하는 검색어를 위 구글 링크에 덧붙이면 된다는 것입니다. 그리고 뒤의 “&source…”부분은 이미지 검색임을 알려주는 것임을 알 수 있습니다.

 

파이썬 이미지 크롤링 사각형

 

정리하면, URL은 “https://www.google.com/search?q=” + “검색하고자 하는 단어” + “&source….” 임을 알 수 있습니다.

 

코드 작성하기

 

이제 requests 사용 방법에 대해 모두 알려드렸습니다. 그렇다면 코드를 작성해 봐야 할 것입니다. 코드는 다음과 같이 작성할 수 있습니다. 먼저 내가 검색하고자 하는 키워드를 입력한 후, 그 키워드를 url에 포함시킨 다음 requests로 데이터를 가져옵니다.

이후 저장할 경로에 폴더를 생성하고, 이미지 경로를 취합하여 다운로드한 후, 지정한 경로에 각 순번대로 사진을 저장하게 됩니다.

 

이미지저장

 

코드 상세 설명

 

  • 1번: 사진을 저장하고자 하는 경로에 폴더를 생성하는 코드입니다. 다만, 해당 경로에 내가 생성하고자 하는 동일한 이름의 폴더가 없다면 신규 폴더를 생성하지 않는다는 코드입니다.

 

  • 2번: requests로 해당 URL에 데이터를 요청하고, 받은 응답을 파이썬이 해석할 수 있도록 Beautifulsoup를 활용하여 파싱 해 줍니다.

 

  • 3번: 파싱이 완료된 데이터에서, 이미지 링크를 받을 수 있는 class 요소를 선택합니다. soup.select는 선택자 모든 링크를 가져와 리스트로 만들게 됩니다. 따라서 for문을 이용해 리스트 안의 각각의 링크 요소들을 하나씩 불러와서 다운로드 합니다.

 

Urlretrive 오류

 

많은 분들이 링크를 획득하는데는 성공하는데, 간혹 Urlretrive로 링크의 이미지 다운로드를 시도하는 경우가 있습니다. 하지만, 제가 테스트해본 결과 이 모듈은 먹히지 않는 곳이 대부분이었습니다. Naver 같은 경우에는 이 모듈이 작동했지만 구글이나 픽사베이 같은 사이트들은 사용이 불가능했습니다.

정확한 이유는 저도 잘 모르겠지만, 크롤링에 대한 폐쇄적인 정책 때문에 인위적인 크롤링을 막아놓은 것으로 추정됩니다. 따라서, 위에서 주어진 코드처럼 이미지를 불러온 후, 해당 파일에 이미지를 기록하는 방식으로 코드를 구현하면 왠만한 사이트에서는 사용이 가능할 것입니다.

이렇게 이번 컨텐츠에서는 파이썬 이미지 크롤링에 대해서 배워봤습니다. blog & Python, 블똑사 칼럼이 도움이 되셨다면, 아래 배너를 통해서 파이썬마스터 블똑사의 다채로운 컨텐츠를 구경해보시기 바랍니다!

 

같이 읽어보면 좋은 글들

 

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Cialis Cialis Fiyat
Cialis Fiyat
1v1.lol unblocked google sites unblocked bit life unblocked slope unblocked yohoho unblocked io games unblocked drive mad unblocked 1v1.lol unblocked io games krunker.io 1v1.lol
melbet megapari 1win giriş melbet giriş melbet giriş melbet melbet giriş onbahis giriş megapari
Kilit taşı fiyatları Kilit taşı Parke taşı Parke taşı fiyatları
ankara escort
Akücü akumyolda.com akücü akümyoldaİnci akü 60 amper inci akü 60 amper akumyolda.comAkü yol yardım olarak akü takviye ve değişimi hzmetleri sunuyoruz. akü yol yardım İngilizce Türkçe çeviri ingilizceturkce.gen.tr ile ingilizce türkçe çeviriAlçalan burç hesaplama sitesi hesaparaclari.com hesaparaclari.comTranslate to English with translatedict.com TranslateDictTranslate Spanish to English audio with spanishenglish.comTranslate Spanish to English audio with spanishenglish.comCalculatorcafe helps to calculate loans as a loan calculator.Calculatorcafe.com
antalya bayan escort
yasbetir1.xyz winbet-bet.com 1kickbet1.com 1xbet-1xir.com 1xbet-ir1.xyz hattrickbet1.com 4shart.com manotobet.net hazaratir.com takbetir2.xyz 1betcart.com betforwardperir.xyz betforward-shart.com betforward.com.co betforward.help betfa.cam 2betboro.com 1xbete.org 1xbett.bet romabet.cam megapari.cam mahbet.cam
noe som gir en fantastisk blow job fanget
bure ngono tovuti ngono na Interracial Porn Video Kwa Kura ya kutomba Horny
ฟรีผู้หญิงออกเดทออนไลน์เพื่อร่วมเพศทางปากและมีเพศสัมพันธ์ทางปากเช่นเดียวกับการอมลึกคอหอย
trang web hẹn hò trực tuyến nơi người đàn ông trưởng thành đụ cô gái còn trinh trong âm hộ ướt át và chặt chẽ của cô ấy
enjoy the most exciting amateur blowjob deepthroat with balls licking and rimming
evden eve nakliyat ücretleri
pornhd.mobi
melbet megapari megapari 1win 1win
eşya depolama uluslararası evden eve nakliyat

istanbul izmir şehirler arası evden eve nakliyat

istanbul izmir evden eve nakliyat

istanbul bodrum evden eve nakliyat

istanbul fetihye evden eve nakliyat

bodrum evden eve nakliyat

istanbul izmir şehirler arası evden eve nakliyat

istanbul izmir evden eve nakliyat

istanbul bodrum evden eve nakliyat

istanbul fetihye evden eve nakliyat

bodrum evden eve nakliyat

uluslararası eşya taşımacılığı uluslararası eşya taşımacılığı eşya depolama yurtdışı kargo uluslararası evden eve nakliyat istanbul ev depolama ev eşyası depolama uluslararası ev taşıma uluslararası evden eve nakliyat uluslararası nakliyat
escort bursa escort gorukle
bursa escort gorukle escort
Antalya escort Antalya escort Belek escort
deneme bonusu deneme bonusu veren siteler
İstanbul İzmir nakliyat İstanbul İzmir evden eve nakliyat ümraniye evden eve nakliyat ümraniye nakliyat kağıthane evden eve nakliyat kağıthane nakliyat çekmeköy nakliyat çekmeköy evden eve nakliyat
deneme bonusu veren siteler deneme bonusu
1win 1win 1win melbet megapari megapari
Ankara Escort
ankara escort
akü servis akumyolda.comakücü akumyoldaakumyolda.comakumyolda.com akücü
ingilizceturkce.gen.tr
TranslateDict.com is a online platform that specializes in free translation, helping visitors to translate to English from a wide variety of languages.translatedicttranslatedict.com
Free Spanish to English translation services are available at spanishenglish.com to help you understand and communicate in both languages. spanishenglish.com
betforwardperir.xyz betforward-shart.com betforward.com.co 1xbete.org 1xbet-ir1.xyz 1xbet-1xir.com takbetir2.xyz yasbetir1.xyz 1betcart.com 1kickbet1.com 4shart.com hattrickbet1.com hazaratir.com winbet-bet.com manotobet.net betfa.cam 2betboro.com
kazansana
Şehirler arası nakliyat
unblocked games io games
evden eve nakliyat fiyatları İstanbul evden eve nakliyat
evden eve nakliyat nakliye şirketi
Sarıyer Evden Eve Nakliyat Şişli Evden Eve Nakliyat İstanbul İzmir Nakliyat, İstanbul İzmir Evden Eve Nakliyat İstanbul İzmir Evden Eve Nakliyat Kağıthane Evden Eve Nakliyat Ümraniye Evden Eve Nakliyat Çekmeköy Evden Eve Nakliyat
https://www.fapjunk.com https://pornohit.net
https://www.fapjunk.com https://pornohit.net
Başakşehir Evden Eve Nakliyat Şişli Evden Eve Nakliyat Göztepe Evden Eve Nakliyat Bakırköy Evden Eve Nakliyat Sancaktepe Evden Eve Nakliyat Mecidiyeköy Evden Eve Nakliyat Fatih Evden Eve Nakliyat Bahçeşehir Evden Eve Nakliyat Esenler Evden Eve Nakliyat İstanbul Evden Eve Nakliyat
Cialis 20 mg Cialis Yorum
london escorts
evden eve nakliyat istanbul
fat girl fucked
teen virgin ass fucked
cadouri pentru nasi de nunta
discreet dating websites
istanbul evden eve nakliyat Eşya depolama Ev depolama
evden eve nakliyat
İzmir Şehirler Arası Nakliyat Manisa Şehirler Arası Nakliyat Çanakkale Şehirler Arası Nakliyat Balıkesir Şehirler Arası Nakliyat Şehirler Arası Nakliyat
Spanish to English translation is the process of converting written or spoken content from the Spanish language into the English language. With Spanish being one of the most widely spoken languages in the world, the need for accurate and efficient translation services is essential. Spanish to English translation plays a crucial role in various domains, including business, education, travel, literature, and more. Skilled translators proficient in both Spanish and English are required to ensure accurate and culturally appropriate translations. They must possess a deep understanding of both languages' grammar, syntax, idioms, and cultural nuances to convey the original meaning and intent of the source content effectively. Quality Spanish to English translation services help bridge the language barrier and facilitate effective communication between Spanish-speaking individuals and English-speaking audiences.spanishenglish.com
İngilizce Türkçe çeviri siteleri kullanıcıların metinleri veya belgeleri yükleyerek anında tercüme yapmalarını sağlayan platformlardır Genellikle temel çeviri ihtiyaçlarını karşılamak için kullanılır ve geniş bir kullanıcı kitlesine hizmet verir. Ancak, tam anlamıyla doğru ve dilbilgisine uygun çeviriler için profesyonel çeviri hizmetlerine başvurmak daha güvenilir olabilir. Bu siteler, hızlı ve pratik bir çözüm sunarken, özellikle hassas veya teknik metinlerin çevirisinde profesyonel bir çevirmenin becerileri ve deneyimi gerekebilir.ingilizceturkce.gen.tr
Spanish to English translation involves accurately conveying not only the words but also the meaning, tone, and cultural nuances of the original text. Skilled translators proficient in both Spanish and English are essential to ensure accurate and effective translations. They must have a deep understanding of both languages' grammar, vocabulary, and idiomatic expressions to deliver high-quality translations. Spanish to English translation is widely used in various fields, including business, literature, media, and international communication. It plays a vital role in enabling cross-cultural understanding and facilitating global interactions.spanishenglish.net
error: Content is protected !!

자동포스팅 홍보 배너