데브코스 TIL/Web Scrapping 15

Web Scraping 기초 2-5. 원하는 요소 가져오기 ||

강의 "페이지네이션"(Pagination)은 많은 정보를 인덱스로 구분하는 기법 입니다. # 다음 User-Agent를 추가해봅시다. user_agent = {"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36"} # 필요한 라이브러리를 불러온 후, 요청을 진행해봅시다. import requests from bs4 import BeautifulSoup # Pagination이 되어있는 질문 리스트의 제목을 모두 가져와봅시다. # 과도한 요청을 방지하기 위해 1초마다 요청을 보내봅시다. import time for i..

Web Scraping 기초 2-4. HTML의 Locator로 원하는 요소 찾기

강의 같은 태그를 사용하는 경우 원하는 요소만을 찾기 위해 "Locator"를 이용합니다. id : 하나의 고유 태그를 가리키는 라벨. 중복 불가 class : 여러 태그를 묶는 라벨 # 스크래핑에 필요한 라이브러리를 불러와봅시다. import requests from bs4 import BeautifulSoup ## 또 다른 연습 사이트를 이용해봅시다. # http://example.python-scraping.com/ res = requests.get("http://example.python-scraping.com/") soup = BeautifulSoup(res.text, "html.parser") ## id 없이 div 태그를 찾아봅시다. soup.find_all("div") ## id가 resu..

Web Scraping 기초 2-3. 원하는 요소 가져오기 |

강의 책 이름 모으기 - 사이트에 있는 책들의 이름 정보 스크래핑하기 http://books.toscrape.com/catalogue/category/books/travel_2/index.html # 스크래핑에 필요한 라이브러리를 불러와봅시다. import requests from bs4 import BeautifulSoup # 예시 사이트에 요청을 진행하고, 응답을 바탕으로 BeautifulSoup 객체를 만들어봅시다. res = requests.get("http://books.toscrape.com/catalogue/category/books/travel_2/index.html") soup = BeautifulSoup(res.text, "html.parser") # 태그에 해당하는 요소를 하나 찾아봅..

Web Scraping 기초 2-2. HTML을 분석해주는 BeautifulSoup

강의 "BeautifulSoup" 라이브러리는 Parser를 사용할 수 있도록 도와주는 라이브러리 입니다. %pip install bs4 # www.example.com 사이트를 요청한 후 응답 받아보기 import requests res = requests.get("http://www.example.com") res.text # BeautifulSoup4 - bs4를 불러와봅시다. from bs4 import BeautifulSoup # BeautifulSoup객체를 만들어봅시다. # 첫번째 인자로는 response의 body를 텍스트로 전달합니다. # 두번째 인자로는 "html"로 분석한다는 것을 명시해줍니다. soup = BeautifulSoup(res.text, "html.parser") # 객체..

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"는 웹 사이트 및 웹 페이지를 수집하는 로봇들의 무단 접근을 ..