티스토리 뷰
오늘 배울 내용
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
검색어가 전달되는 방식 확인
- 개발자도구에서 Network 탭 클릭
- Ctrl + R 을 누르고 --> 가장위에 있는 문서를 눌러본다
- 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
'IT > IT 이것 저것' 카테고리의 다른 글
(python)알고리즘, 자료구조 - 재귀알고리즘(1) (0) | 2020.06.05 |
---|---|
(python)알고리즘, 자료구조 - 리스트의 2진탐색 (0) | 2020.06.05 |
(python)크롤링 - 30초만에 구글 사진 크롤링 하기 (0) | 2020.06.02 |
(python) data crawling (데이터 크롤링) - 누구나 30초만에 기사 제목 크롤링하기 (0) | 2020.06.01 |
Java Script기초 - 변수 선언 var /const/ let 차이점 (0) | 2020.05.25 |
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- json
- 경영학
- 프로그래머스
- 크롤링
- PYTHON
- requests
- 일자별
- 스타트업
- 심리학
- 터틀트레이딩
- 주식
- 시스템투자
- Unity
- 랜덤맵
- 유니티
- C#
- IT기초
- 가격데이터
- ET5X
- It
- 강화학습
- 주식투자
- 머신러닝
- 파이썬
- 알고리즘
- Anet
- beautifulsoup
- 사진크롤링
- 마케팅
- 비전공자
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함