2022. 4. 5. 17:40ㆍAI/Codestates
HTML이란?
- HyperText Markup Language 의 약자로 웹에서 표시할 때 사용
- HTML이 '언어다', '언어가 아니다' 에 대한 의견이 갈리지만, MDN에 의하면 프로그래밍 언어는 아님!!!
- MDN에 의하면 웹 페이지가 어떻게 구성이 되어 있어야 하는지 알려주는 마크업 언어라고 소개 되어 있음
- 간단하게 말해 웹 페이지에서 보여지는 것들이 어떻게 어떤 방식으로 보여져야 하는지 알려주는 마크업 언어
HTML Element
- HTML 에서는 요소 ( Element ) 라는 것들이 존재함 예를 들어 head, body, div, li 등등 다양함
- 기본적으로 HTML에서는 각 엘레멘트들은 태그를 통해 표현이 됨
CSS 란?
- HTML 이 웹 페이지가 어떻게 구성되는지 알려주는 마크업 언어라면 CSS는 웹 페이지 문서가 어떻게 표현되는지 알려주는 스타일시트 언어
- Cascading Style Sheets 의 약자로 알 수 있듯이 CSS 는 HTML이 표현한 문서가 어떻게 표현이 되는지 알려줌
- HTML 에서도 태그 내에 스타일에 대해 알려줄 수 있지만 스타일에 관한 내용이 많을수록 HTML이 복잡해지고 편의성도 떨어지기 때문에 이렇게 분리해서 사용
CSS Selector
- 셀렉터는 특정 요소를 선택할 수 있는 방법
- Type Selector : CSS 타입에 따라서 선택할 수 있음
- Class Selector : 클래스에 따라 선택할 수 있음
- Id Selector : id에 따라 선택할 수 있음
CSS 클래스
- 클래스는 어떤 특정 요소들의 스타일을 정하고 싶을 때에 사용이 됨
- 동시에 여러 개의 요소들에 대한 스타일을 정할 때에는 보통 클래스를 지정해서 상속을 받도록 정함
- CSS 에서는 '.' 기호를 통해서 클래스를 정의할 수 있음
CSS ID
- 클래스와 비슷하게 사용할 수 있는 것이 ID
- CSS 에서는 '#' 기호를 통해서 스타일을 정할 수 있음
DOM 이란?
- DOM ( Document Object Model ) 은 웹 페이지에서 매우 중요한 역할을 하고 문서 객체 모델이라고도 불림
- MDN 에서 정의하는 것처럼 DOM 은 HTML, XML 등 문서의 프로그래밍 인터페이스
- 다시 말해 프로그래밍 언어를 통해서 HTML 문서 등에 접근할 수 있도록 해줌
- DOM은 객체로 표현을 하는데 이 때 Object 란 자바스크립트에서 사용되는 데이터 구조 중 하나
- DOM을 통해서 프로그래밍 언어에서 사용할 수 있는 데이터 구조 형태로 작업을 수행할 수 있어 크롤링 등 웹 페이지와 작업할 때 매우 중요한 개념 중 하나
DOM 메소드
- DOM 다양한 기능들
- getElementsbyTagName: 태그 이름으로 문서의 요소들을 리턴합니다.
- getElementById: 'id' 가 일치하는 요소들을 리턴합니다.
- getElementsByClassName: '클래스' 가 일치하는 요소들을 리턴합니다.
- querySelector: 셀렉터(들)과 일치하는 요소를 리턴합니다.
- querySelectorAll: 셀렉터(들)과 일치하는 모든 요소들을 리턴합니다.
웹 스크레이핑/크롤링 이란?
- 웹 크롤링이란 웹으로 돌아다니면서 정보를 수집하는 행위
- 크롤링은 번역을 하자면 '기어다니다'라는 뜻을 가지고 있음.
- 웹 스크레이핑은 자동화에 초점이 맞춰져 있고 알아서 돌아가게 함
- 크롤링도 자동화를 사용하지만 스크레이핑은 특정 정보를 가져오는 것이 목적이라면 크롤링은 주로 인터넷에 있는 사이트들을 인덱싱하는 목적을 두고 있음
requests 라이브러리
- 웹 스크레이핑의 가장 기초는 웹과 소통을 하는 것
- HTTP 요청을 간단한 메소드를 통해 실행할 수 있도록 짜여졌다는 것이 가장 큰 장점 중 하나
BeautifulSoup 라이브러리
- 웹 스크레이핑에서는 서버에 요청을 보내고 응답을 받는 것이 시작
- BeautifukSoup 라이브러리는 받아온 HTML 파일을 파싱해서 원하는 정보를 손쉽게 찾을 수 있도록 해줌
# 네이버 영화 제일최근 영화코드 불러오기
soup, page = get_page(search_url)
sel = soup.select('.search_list_1 > li a')
movie_code = []
for ele in sel :
if movie_title.lower() in ele.text.lower() :
code = ele
movie_code.append(int(code.attrs['href'].split('=')[1]))
print(max(movie_code))
'AI > Codestates' 카테고리의 다른 글
[데이터 엔지니어링] NoSQL (0) | 2022.04.07 |
---|---|
[데이터 엔지니어링] API (0) | 2022.04.07 |
[데이터 엔지니어링] Python 활용 (0) | 2022.04.04 |
[Day 49] Sprint Review (0) | 2022.04.04 |
[데이터 엔지니어링] DB API (0) | 2022.03.31 |