일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 멋사 AI 교육
- 영화추천시스템
- 유니오르
- 추천프로젝트
- 멋쟁이사자처럼
- k 디지털 후기
- til
- 홍명희 임꺽정
- 멋쟁이사자처럼 k 디지털
- 멋사 k 디지털
- 비전공자 멋쟁이사자처럼
- 문학동네
- 비전공자 코딩
- 멋사 AI
- 리뷰
- 인터뷰
- k 디지털
- 영화AI추천
- 가브리엘마르케스
- 멋사 국비지원과정
- 비전공자 코딩교육
- 멋쟁이사자처럼 k-digital
- 인생책짧은글
- 민음사
- 이렇게 그녀를 잃었다
- 멋사 전액국비지원교육
- 멋쟁이사자처럼 전액국비지원
- 인생책
- AI 코딩
- AI 국비지원
- Today
- Total
글쟁이, 코딩한다
1217 / K_digital 9일차 / 파이썬(크롤링) 본문
0.
변함없이 온라인 강의.
올해, 절반은 노트북 앞에 앉아있었다. 안 그래도 휜 척추를 잘 관리할 필요가 있겠다. 눈이든 배든 어깨든 시린 발가락이든 어디든. 알 수 없는 것들 앞에서 모른채 앉아있으려니, 이런 생각들만 자꾸 했다.
웹 크롤링
웹 스크래핑(web scraping) :
웹페이지에서 원하는 자료를 긁어오는 것 -> 국내에서는 웹 크롤링이라고 더 많이 불린다
HTML : HyperText Markup Language 웹 스크래핑을 위해서는 HTML의 기본 구조를 알아야 한다. < > == html 태그, elements #<>로 열고 </ >로 닫는다.
<div> 하나의 상자. 여러 div(divine)를 겹쳐 존재한다. </div> <span>new</span> Class, Id, ... |
웹 스크래핑 진행 순서
1) URL 분석
#크롬 개발자 도구(Ctrl + Shift + I, F12)
2) URL 구성
3) HTTP Response 얻기(urlopen) 문자열로 만든 url을 넣고, urlopen 함수로 서버에 요청을 보낸다.
#HTTP를 Request(요청하면) -> response(응답한다.) #서버 요청 시 성공은 200, 문제가 있으면 404(Not Found), 500(서버 미응답)
4) HTML source 얻기(BeautifulSoup) 서버가 보내는 response를 beautifulsoup가 html 뭉치로 뱉어낸다.
5) HTML 태그 꺼내기(.find())
#find 함수 사용 후 : find(Tag)와 find_all(ResultSet)의 타입형을 잘 확인. Tag에서만 쓸 수 있는 함수들 .get_text() / .strip() / .attrs
5) 태그에서 텍스트, 어트리뷰트 값 꺼내기
#with문이나 open() 로 파일을 열고 f.write()로 크롤링한 내용을 저장하자.
#예외처리 : try와 except #일단 해봐(try). 예외적인 경우에(문제가 있으면, except) 넘어가라(pass, 혹은 다른 작업을 수행).
※ 크롤링한 데이터를 기반 삼아 상업적인 용도로 사용하면, 저작권법에 걸릴 수 있다. => 위험!
굉장히 빠른 요청이, 한 번에, 아주 많이 도착하면, 서버가 공격이라고 인식할 수 있다. 하나의 IP에서 다수의 request가 오면 IP가 막힐 수도 있음. => 이럴 때는 기다리는 수밖에.
오늘의 TML
Website / App의 영역
Front-end : 웹사이트 모습을 만들어낸다
-화면 골격 : HTML (.html)
-화면 디자인 : CSS (.css)
-화면 작동 : Javascript(.js) /HTML과 CSS로도 가능하다.
Back-end
-작동 구조 : Business Logic : Javascript / Java / PHP / Python / Ruby
오늘의 공부 생각
결국 함수를 많이 외우는 것이 큰 의미가 있을까? 과정을 명확히 이해하자.
원하는 바를 명확히 인지할 것. 코딩 전 이해할 수 없는 것들, 불분명한 것들을 남기지 말 것. (구글에, 강사님에, 동료들에, 아니 누구한테든) 잘 물어볼 것.
다양한 데이터들이 새롭게 바뀔 수 있는 모습들에 대해 고민할 것.
'나는 코딩도 한다 > TIL' 카테고리의 다른 글
1221/ K_digital 11일차 / 파이썬(크롤링) (3) | 2020.12.21 |
---|---|
1218 / K_digital 10일차 / 파이썬(nltk, TF-IDF) (1) | 2020.12.18 |
1216 / K_digital 8일차 / 파이썬(pandas) (0) | 2020.12.16 |
1215 / K_digital 7일차 / 파이썬(기초함수, pandas) (0) | 2020.12.15 |
1214 / K_digital 6일차 / 파이썬 (0) | 2020.12.14 |