Day21

김재현·2023년 6월 20일

JUPYTER/DL/ML

목록 보기
3/73

크롤링 기술의 개요

  • 스크랩핑
    단일 페이지로부터의 데이저 수집
  • 크롤링
    특정 페이지로부터 파생되는 하위 페이지까지 일괄 수집
    웹 페이지 크롤링의 경우 id와 class를 찾아라(id는 고유 값으로 반복문이 필요 없다)
    태그 이름은 왠만해서는 사용하지 말 것
  • 크롤러
    크롤링을 수행하는 소프트웨어. 즉, 검색엔진

크롤링은 HTML 디자인을 기반으로 동작하므로 사이트 디자인이 변경되면 이전 코드는 무용지물(사실상 일회용 코드)


HTML, CSS 제작 및 설명

띄어쓰기, 대문자를 반드시 구분해서 사용

from bs4 import BeautifulSoup을 사용해 응답 내용을 추출 가능


JSON 데이터

JSON (JavaScript Object Notation)은 데이터를 저장하고 전송하기 위한 경량의 데이터 교환 형식입니다. JSON은 사람이 읽고 쓰기 쉽고 기계가 분석하고 생성하기도 쉬운 형식을 가지고 있습니다.
JSON 데이터는 텍스트로 작성되며, 일반적으로 Key-Value 쌍으로 구성됩니다. Key는 문자열이며, Value는 문자열, 숫자, 불리언, 배열, 객체, null 등의 값이 될 수 있습니다. JSON 형식은 많은 프로그래밍 언어에서 지원되며, 데이터를 구조화하고 전달하기 위해 널리 사용됩니다.
JSON은 웹 API에서 데이터를 주고받는 데 많이 사용되며, 파일 형식으로도 자주 사용됩니다. 데이터의 구조를 유지하면서 효율적이고 간결하게 표현할 수 있기 때문에 많은 개발자들에게 인기가 있습니다.


브라우저 버전 정보와 접속객체를 생성하는 이유

request는 직접 header 정보 갱신이 불가능해 session 생성
session = requests.Session()

호환성 확인: 서로 다른 브라우저 및 버전은 웹 페이지 및 웹 애플리케이션의 동작을 다르게 해석할 수 있습니다. 따라서 브라우저 버전 정보를 확인하고 이를 기반으로 웹 사이트나 애플리케이션의 호환성을 테스트하고 조정할 수 있습니다. 특정 버전의 브라우저에서 발생할 수 있는 문제를 사전에 식별하여 사용자 경험을 향상시킬 수 있습니다.
기능 지원 여부 확인: 각 브라우저 버전은 다양한 웹 표준 및 기능을 지원합니다. 브라우저 버전 정보를 사용하여 특정 기능이 지원되는지 여부를 확인하고, 해당 기능을 사용할 수 없는 경우 대체 방안을 제공할 수 있습니다. 이는 사용자에게 최상의 기능을 제공하고 웹 애플리케이션의 일관성을 유지하는 데 도움이 됩니다.
분석 및 개선: 웹 사이트 또는 애플리케이션을 개발 및 운영하는 과정에서 사용자의 브라우저 버전 정보와 접속 객체 정보를 수집하여 분석할 수 있습니다. 이를 통해 사용자 행동 패턴, 인기 있는 기능, 오류 및 성능 문제 등을 파악하고 개선할 수 있습니다. 또한, 특정 버전이나 브라우저에서 발생하는 문제를 조사하고 해결할 때도 유용합니다.
브라우저 버전 정보와 접속 객체를 생성하는 것은 웹 애플리케이션의 호환성, 기능 지원, 분석 및 개선을 위해 중요한 요소입니다. 이를 통해 사용자 경험을 개선하고 웹 애플리케이션의 성능과 품질을 향상시킬 수 있습니다.


백엔드 개발자가 request가 아닌 구현을 처음부터 할 줄 알아야하는 이유

클라이언트와 서버 간의 통신 방식과 동작 원리를 이해하고 제어 가능.
HTTP 프로토콜의 동작 방식, 요청 및 응답 헤더, 상태 코드 등에 대한 이해를 바탕으로 효율적이고 안정적인 서버 개발 가능.
직접 request를 구현하면 요구사항에 맞춰 자유롭게 커스터마이즈된 동작을 구현 가능.
클라이언트에서 올바른 request를 보내고 서버에서 적절한 응답을 전달하는지 확인하고, 문제가 발생한 경우 디버깅과 문제 해결을 수행할 수 있음.
입력 유효성 검사, 인증과 권한 부여, 크로스 사이트 스크립팅(XSS) 및 SQL 인젝션과 같은 공격에 대한 방어 메커니즘을 구현해 보안을 강화.
다양한 프레임워크나 라이브러리에서 제공하는 request 구현 방식을 비교하여 적절한 기술을 선택하고 최적화 가능.
즉,
백엔드 개발자가 request를 처음부터 구현할 줄 알면, 클라이언트와 서버 간의 효율적인 통신을 구현하고 커스터마이즈된 기능을 추가할 수 있으며, 보안과 디버깅을 강화할 수 있음.


HTML, 속성의 다른 이름

HTME태그는 element, 속성은 attributes로 불림

0개의 댓글