Python/[강의] 파이썬입문과 크롤링기초
Open API를 활용한 크롤링
Open API(Rest API) API: Application Programming Interface의 약자 응용 프로그램에서 사용할 수 있도록 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스 애플리케이션이 인터페이싱(요청과 응답을 주고받는) 체계 API를 통해 소스 및 데이터베이스는 접근하지 못하게 하고, 해당 프로그램을 사용할 수 있도록 기능을 제공 Open API: 공개 API라고 불리며, 누구나 사용할 수 있도록 공개된 API (주로 Rest API 기술을 많이 사용) Rest API: Representational State Transfer API의 약자 HTTP 프로토콜을 통해 서버 제공 기능을 사용할 수 있는 함수 일반적으로 XML, JSON의 형태로 응답을 전..
크롤링 시 문제상황 대처
[기존] urllib + bs4 → [최근] requests + bs4 경우에 따라 예전 사이트의 경우는 urllib 로만 정상적으로 데이터를 가져오는 경우가 간혹 있음 (극히 드묾) requests 라이브러리로 작성 import requests from bs4 import BeautifulSoup res = requests.get('https://~') soup = BeautifulSoup(res.content, 'html.parser') items = soup.select('요소') res는 request 받은 객체가 리턴되기 때문에 res.content로 보내야 한다. urlllib 라이브러리로 작성 from urllib.requests import urlopen from bs4 import Bea..
CSS selector 사용해서 크롤링하기
CSS selector 사용법 select() 안에 태그/ CSS class 이름 등을 넣어주면 된다. 결과값은 리스트로 반환된다. 매칭되는 첫번째 데이터만 얻고자 할 때는 select_one(), 이 때는 해당 아이템 객체가 리턴 1) 태그 선택 import requests from bs4 import BeautifulSoup res = requests.get('https://davelee-fun.github.io/blog/crawl_test_css.html') soup = BeautifulSoup(res.content,'html.parser') items = soup.select('li') for item in items: print(item.get_text()) 2) 하위태그 선택 - 띄어쓰기로 하..

실전 크롤링과 크롤링 기술팁
1. 크롬 브라우저 활용하기 크롬 개발자 모드 (윈도우) Ctrl + Shift + i F12 마우스로 원하는 부분 클릭 2. 추출한 것에서 또 추출하기 find()로 더 크게 감싸는 HTML 태그로 추출하고 다시 추출된 데이터에서 find_all()로 원하는 부분을 추출 추출된 데이터는 객체(object) 이다. import requests from bs4 import BeautifulSoup res = requests.get('https://davelee-fun.github.io/blog/crawl_test') soup = BeautifulSoup(res.content,'html.parser') section = soup.find('ul',id='hobby_course_list') titles = s..
웹구조와 HTML 이해하기
웹페이지는 HTML 기본 구조를 가집니다. // 이 문서는 HTML 언어를 사용 // 여기서부터 HTML 문서 시작 // 문서 전체 정보 (제목..) // 문서 실제 내용 웹브라우저로 HTML을 오픈했는데 글자가 깨지면 다음 태그를 head 태그 안에 넣자. HTML 이해를 기반으로 크롤링 하기 from bs4 import BeautifulSoup html = " \ \ [1]크롤링이란? \ 웹페이지에서 필요한 데이터를 추출하는 것 \ 파이썬을 중심으로 다양한 웹크롤링 기술 발달 \ \ " soup = BeautifulSoup(html, 'html.parser') # 태그로 검색 방법 data = soup.find('h1') print(data) // [1]크롤링이란? print(data.string) ..

크롤링 코드 패턴으로 익히기
1. 라이브러리 import 필요 라이브러리 requests 웹페이지 가져오기 라이브러리 bs4 (BeautifulSoup) 웹페이지 분석 라이브러리 import requests from bs4 import BeautifulSoup 2. 웹페이지 가져오기 HTML 파일 확인하기 웹브라우저로 확인 오른쪽 클릭 + 페이지 소스 보기 라이브러리로 확인 res = requests.get('http://~') res.content # 해당 웹페이지의 HTML 파일 확인 3. 웹페이지 파싱하기 파싱: 문자열의 의미 분석 BeautifulSoup 라이브러리를 이용하여 파일을 일일이 파싱한다. soup = BeautifulSoup(res.content, 'html.parser') ⭐4. 필요한 데이터 추출하기 soup..