프로그래머스 152

Web Scraping 기초 2-1. 웹 브라우저가 HTML을 다루는 방법

강의 브라우저의 렌더링 엔진은 웹 문서를 로드한 후, 파싱을 진행합니다. "DOM"(Document Object Model)은 파싱하여 만든 아래와 같은 형태를 말합니다. DOM은 실제로 매우 복잡하게 구성되어 있습니다. 각 노드를 객체로 생각하면 문서를 더욱 편리하게 관리할 수 있습니다. 원하는 요소를 동적으로 변경하고 쉽게 찾을 수 있습니다. DOM Tree를 순회하여 특정 원소를 조작할 수 있습니다. var imgElement = document.createrElement("img"); document.body.appendChild(imgElement); document.getElementByTagName("h2");

Web Scraping 기초 1-4. 윤리적으로 웹 스크래핑, 크롤링 진행하기

강의 "웹 스크래핑"은 웹 페이지들로부터 원하는 정보를 추출하는 것을 말합니다. "웹 크롤링"은 크롤러(Crawler)를 이용해서 웹 페이지의 정보를 인덱싱하는 것을 말합니다. HTTP 요청할 때 고려 사항 웹 스크래핑/크롤링을 통해 달성하고자 하는 목적 웹 스크래핑/크롤링이 서버에 미치는 영향 로봇 배제 프로토콜(Robot Exclusion Protocol, REP) # 모든 user-agent 접근 불허 User-agent: * Disallow: / # 모든 user-agent 접근 허용 User-agent: * Allow: / # 특정 user-agent 접근 불허 User-agent: Name Disallow: / "robots.txt"는 웹 사이트 및 웹 페이지를 수집하는 로봇들의 무단 접근을 ..

Web Scraping 기초 1-3. 나의 첫 HTTP 통신 코드

강의 "request" 라이브러리는 Python을 이용해 간단히 HTTP 통신을 진행할 수 있는 라이브러리 입니다. ⭐ Jupiter 환경에서 코드를 사용해볼 것을 추천합니다. 정보 가져오기 (GET) %pip install requests # requests 라이브러리를 불러온 후, NAVER의 홈 페이지를 요청한 후 응답 받아보기 import requests res = requests.get("http://www.naver.com") res # Header를 확인해봅시다 : .headers res.headers # Body를 텍스트 형태로 확인해봅시다 : .text res.text[:1000] 정보 갱신하기 (POST) 대표적인 예시는 로그인 입니다. 활용할 사이트는 https://webhook.si..

Web Scraping 기초 1-2. 웹 페이지와 HTML

강의 "웹 페이지"는 웹 속에 있는 문서 하나를 말합니다. "웹 사이트"는 웹 페이지의 모음 입니다. "웹 브라우저"는 HTML 요청을 보내고, HTTP 응답에 담긴 HTML 문서를 보기 쉬운 형태로 화면을 그려주는 역할(렌더)을 담당합니다. HTML의 구조 HTML은 태그(Tag)로 감싼 요소(Element)의 집합으로 이루어져 있습니다. 태그로 내용을 묶어 글의 형식을 지정합니다. 태그는 그에 맞는 속성(Attribute)을 가지기도 합니다. # 문서의 내용 Hello World! My name is Mussg!

Web Scraping 기초 1-1. 인터넷 속의 약속, HTTP

강의 "네트워크"(Network)는 여러 컴퓨터를 연결하는 형태를 말합니다. "근거리 지역 네트워크"(Local Area Network, LAN)은 네트워크를 묶은 것을 말합니다. "인터넷"(Internet)은 범지구적으로 연결된 네트워크 입니다. "웹"(World Wide Web, Web)은 인터넷에서 정보를 교환할 수 있는 환경을 말합니다. 정보를 요청하는 컴퓨터를 "클라이언트"(Client), 정보를 제공하는 컴퓨터를 "서버"(Server)라고 합니다. "HTTP"(Hypertext Transfer Protocol)는 웹 상에서 정보를 주고받기 위한 약속 입니다. 웹 상에서 정보를 주고받는 방법 HTTP 요청(Request) : 클라이언트가 서버에게 정보를 요청 요청에 대해 서버가 작업을 수행 HT..