본문 바로가기
728x90
반응형

Python/크롤링&스크래핑12

[웹스크래핑] Beautifulsoup4 활용 1 - 네이버 웹툰 실습1 : 네이버 웹툰 전체 목록(제목) 가져오기 import requests from bs4 import BeautifulSoup url = "https://comic.naver.com/webtoon/weekday" # 접근할 url res = requests.get(url) # 원하는 url의 정보 res.raise_for_status() # 웹페이지의 상태가 정상인지 확인 soup = BeautifulSoup(res.text, "lxml") # 가져온 HTML 문서를 파서를 통해 BeautifulSoup 객체로 만듦 # 네이버 웹툰 전체 목록 가져오기 cartoons = soup.find_all("a", attrs={"class":"title"}) # HTML 문서에서 태그명이 a이고 class 속.. 2023. 1. 17.
[웹스크래핑] Beautifulsoup4 기본 관련 라이브러리 및 패키지 설치 pip install beautifulsoup4 : 스크래핑을 위한 패키지 pip install lxml : 구문을 분석하는 파서(Parser) 실습 : 네이버웹툰 1. url 접근 및 BeautifulSoup 객체 만들기 import requests from bs4 import BeautifulSoup url = "https://comic.naver.com/webtoon/weekday" res = requests.get(url) res.raise_for_status() soup = BeautifulSoup(res.text, "lxml") # 가져온 HTML 문서를 파서를 통해 BeautifulSoup 객체로 만듦 1. 네이버웹툰 url의 정보를 requests.get().. 2023. 1. 15.
[웹스크래핑] User Agent - 나를 차단한 웹페이지 접속하기 User Agent 무분별한 크롤링, 스크래핑을 막기 위해서 사람이 직접 웹페이지를 접속한 것이 아니라 로봇이나 프로그램이 접속하는 것을 차단하는 웹페이지들이 있다. 즉, Requests 라이브러리를 사용해서 접근하는 것을 막는 사이트들이 있다. 이러한 사이트들을 크롤링, 스크래핑을 하기 위해서 User Agent를 사용한다. 우리가 로봇이 아니라 사람임을 User Agent를 사용하여 웹페이지에게 알려줄 수 있다. 위의 이미지에서 인간이 조작하는 웹 브라우저 형식을 사용해야 웹페이지가 로봇으로 인식하지 않는다. 나의 User Agent 확인하기 https://www.whatismybrowser.com/detect/what-is-my-user-agent/ What is my user agent? Ever.. 2023. 1. 15.
[웹스크래핑] 정규식(Regular Expression) 정규식(Regular Expression) 특정 단어나 패턴을 표현하는 축약된 형식으로, 규칙이 있는 문자열을 비교, 추출할때 사용한다. 크롤링이나 스크래핑 시에 필요한 정보를 가져올때 유용하게 사용한다. 예를 들어, 주민등록번호 : 95xxxx-xxxxxxx 이메일 주소 : tistory@gmail.com 차량 번호 : 123가 1234 IP 주소 : 192-111.0.1 등이 있다. 1. 정규식 형태를 가진 문자열을 정규식 객체로 컴파일한다. import re p = re.compile("ca.e") 위의 코드는 ca?e와 관련된 문자열을 찾기위한 첫 시작이다. 즉, 정규식을 정의하는 단계이다. ca?e는 care, case, cafe, cave 등이 될 수 있다. 정규식 . : (ca.e) : 하나.. 2023. 1. 15.
[웹스크래핑] Requests 라이브러리 기초 Requests 라이브러리 웹 서버와 데이터를 주고 받기 위해서는 정해진 프로토콜(HTTP)을 사용해야한다. Requests는 웹 서버와 정해진 프로토콜에 따라 데이터를 요청하고 전달 받은 데이터를 관리한다. Requests를 사용하면 프로토콜을 알 필요 없이 정해진 함수만 호출하면 원하는 데이터를 추출할 수 있다. 나중에 배울 셀레니움(Selenium)도 이러한 일련의 일들을 스스로 처리해줘서 내부 동작은 고민할 필요 없다. Requests는 불필요한 데이터를 요청하지 않기 때문에 셀레니움보다 속도가 빠르다. 단점은 세부 내용을 사용자가 컨트롤해야한다. 연습 : Google의 HTML 코드 가져오기 1. 원하는 웹페이지의 정보 가져오기 res = requests.get("http://google.com.. 2023. 1. 14.
[웹스크래핑] 웹크롤링 vs. 웹스크래핑 웹크롤링 vs. 웹스크래핑 웹크롤링 데이터를 수집하는 소프트웨어를 크롤러(crawler)라고 한다. 크롤러는 블로그, 뉴스 기사 등의 페이지를 모두 방문해서 문서가 어디에 있는지, 누가 작성했는지, 어떠한 내용이 들어 있는지를 수집한다. 수집한 데이터를 검색 포털이 데이터 베이스로 만들어 놓기 때문에 사람들이 검색하면 그 결과를 데이터 베이스에서 빠르게 찾아줄 수 있다. 어떤 웹페이지에서 페이지의 링크를 따라가면서 모든 내용을 가져오는 것. 허용된 링크를 따라가면서 데이터를 마구잡이로 가져오는 것을 의미한다. ex) 이벤트에 당첨되어 서점에서 카트에 30초 동안 담을 수 있는 모든 책을 담을 수 있는 기회가 생김. 다만 가장 윗줄에 있는 책들은 담으면 안된다. 이때 책의 내용과 관계없이 눈에 보이는 모든.. 2023. 1. 13.
728x90
반응형