티스토리 뷰

오늘 배울 내용

 1. GET방식으로 서버 접근할 때, data 입력하기

 

30초만에 구글 사진 크롤링 코드

import requests
import urllib.request
import urllib.error
from urllib.error import URLError, HTTPError
from bs4 import BeautifulSoup

#세션만들기 
s=requests.session()

#서버에 접근
url = "https://www.google.co.kr/search?q=%EA%B7%80%EC%97%AC%EC%9A%B4%EB%8F%99%EB%AC%BC&tbm=isch&ved=2ahUKEwiUg7fUz-LpAhUEHKYKHZF7BloQ2-cCegQIABAA&oq=%EA%B7%80%EC%97%AC%EC%9A%B4%EB%8F%99%EB%AC%BC&gs_lcp=CgNpbWcQAzICCAAyAggAMgIIADICCAAyAggAMgIIADICCAAyAggAMgIIADICCAA6BAgjECc6BwgjEOoCECdQtgxY9ylghixoBXAAeAKAAaMBiAH3EJIBBDAuMTeYAQCgAQGqAQtnd3Mtd2l6LWltZ7ABCg&sclient=img&ei=pAHWXpShFIS4mAWR95nQBQ&bih=1231&biw=894"
response = session.get(url)
print(response)
#<Response [200]>이 떳다면 성공!!

soup = BeautifulSoup(response.text,'html.parser')	 #soup 객체를 만든다 
img = soup.select("img")				 #만들어진 soup객체에서 img태그인 녀석들을 찾는다

n=0
for i in img:
    src = i['src']
    try:
        urllib.request.urlretrieve(src, str(n) + '.jpg')
        
    except ValueError:						#url 형식이 잘못된 경우
        print('url양식이 잘못되었습니다.')
        
    except HTTPError:						#불량 url이라 접속이 불가능한 경우
        print('url주소에 접근 할 수 없습니다')
    n = n+1

여기서 바꿀 내용은 "서버에 접근"하는 부분

 

STEP 1

검색어가 전달되는 방식 확인

F12를 눌러서 '개발자 도구'를 연다

  1. 개발자도구에서 Network 탭 클릭
  2. Ctrl + R 을 누르고 --> 가장위에 있는 문서를 눌러본다
  3. Request Method 확인 = GET 방식임을 확인 할 수 있다.
    • GET방식은 URL로 Data를 전달한다 = 즉, 주소창에서 어떤 검색어를 썼는지 확인 가능

'고양이'를 검색했을 때
'강아지'를 검색했을 때

STEP 2

URL에서 '검색어'에 해당하는 부분을 python에서 직접 정한다.


#검색어 변수 설정
input = "귀여운동물";

#변수가 url에 입력 될 수 있도록 설정
url = "https://www.google.com/search?q="+input+"&tbm=isch&ved=2ahUKEwjXuLPU2-LpAhWdxYsBHbRdDV8Q2-cCegQIABAA&gs_lcp=CgNpbWcQAzIECCMQJzICCAAyAggAMgIIADICCAAyAggAMgIIADICCAAyAggAMgIIADoHCCMQ6gIQJ1DHEliVL2DhMGgGcAB4AYABfIgBpguSAQQwLjEzmAEAoAEBqgELZ3dzLXdpei1pbWewAQo&sclient=img&ei=OQ7WXpe4Hp2Lr7wPtLu1-AU&bih=898&biw=1512"

#해당 url을 통해 서버로 접근
response = session.get(url)

print(response)
#<Response [200]>이 떳다면 성공!!

+input 부분을 유심히 보면된다.

 

STEP 3

실행시키면 OK!

 

728x90
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함