웹 스크래핑
Python
패키지 설치 R과 달리 Python에서 패키지 설치는 별도의 프로그램 사용 conda로 먼저 설치 시도 안되면 pip로 명령창 열기 탐색기 주소창에 cmd 또는 SHIFT+우클릭 여기서 명령창 열기
수업에서 사용할 패키지들 패키지 소개 명령 창에 다음을 입력 requests: HTTP를 위한 패키지 lxml: HTML 처리 cssselect: HTML 처리(s가 3개) 명령 창에 다음을 입력 conda install lxml pip install requests cssselect
HTTP
웹 기술 JavaScript HTML HTTP TCP/IP 하드웨어
HTTP HyperText Transfer Protocol Request Server Client Response
HTTP Method GET: 서버의 자원(resource)을 가져올 때 POST: 서버에 자원을 추가할 때 목록 보기 글 보기 다운로드 POST: 서버에 자원을 추가할 때 글 쓰기 업로드 구분이 잘 지켜지지 않음 PUT, DELETE 등 method도 있으나 웹 브라우저는 지원X
HTTP Status Code 4XX: Client Error 5XX: Server Error 세 자리 수 2XX: Success 200 OK 3XX: Redirection 302 Found 4XX: Client Error 400 Bad Request 403 Forbidden 404 Not Found 405 Method Not Allowed 5XX: Server Error
HTML
HTML HyperText Markup Language 사람과 컴퓨터가 읽을 수 있는 양식 트리(tree) 형태의 구조를 가짐
HTML html head body title p table img
HTML 모든 노드(node)는 태그(tag)로 감싸여 있음 노드는 내용과 별개로 속성(attribute)을 가짐 <p>내용</p> 노드는 내용과 별개로 속성(attribute)을 가짐 <a href=“http://naver.com”>네이버</a>
HTML 노드를 선정하는 방법 CSS 선택자(selector) XPath HTML 문서의 서식을 지정하기 위한 용도 짧고 간단 대부분의 경우에는 충분함 XPath 복잡한 조건으로 노드를 선택할 때 사용 lxml의 기본 사용법