본문 바로가기

[Python] BeautifulSoup4 라이브러리와 기초 (멜론차트 크롤링) requests가 아닌 BeautifulSoup를 사용하는 이유?requests 설치와 라이브러리 포스트 바로가기 간단한 requests를 사용한 코드입니다.requests를 사용해서 https://www.naver.com을 text로 변환하여 html변수에 집어넣고그것을 print한 코드이며 실행을 시켜보면 www.naver.com의 html코드가 잘 출력이 됩니다. 하지만 너무 복잡하죠? BeautifulSoup에서는 이런 복잡한 코드에서 사용자가 원하는 부분을 크롤링 할 수 있게 도와주는 모듈입니다. BeautifulSoup를 사용해서 크롤링을 해보겠습니다. BeautifulSoup를 배우기 전에HTTP 응답- 클라이언트(사용자)가 웹서버(ex. naver, google ...)에 요청을 했을때, .. 더보기
[Python] requests 기초와 beautiful soup를 활용한 크롤링, [크롤링 준비] 본게시글은 HTTP 헤더 이해와 Requests의 설치가 되어있어야 합니다. (바로가기)또한 requests의 라이브러리를 자세하게 살펴보는 게시글 입니다.Requests: HTTP for Humans 공식문서 바로가기- Python에서 기본 라이브러리로 urllib가 제공되지만, 이보다 더 간결한 코드로 다양한 HTTP요청을 할 수 있는 라이브러리 이기 때문에 사용- JavaScript처리가 필요한 경우에 selenium을 고려할 수 있음. 하지만 requests에서도 적용이 가능한 부분도 있으며, 이는 requests 사용시 크롤링 할 페이지에 대해 다방면의 검토가 필요하다고 볼 수 있음.- 크롤링을 할때 요청에서 requests를 사용한다면 가장 효율적인 처리라고 할 수 있음 단순 GET 요청사용방.. 더보기
[Python] 크롤링 기초 개념과 requests를 이용한 기초실습(설치부터) 크롤링(Crawling)1. 특정 페이지에 있는 정보들을 내가 원하는 포맷으로 가져오는것2. WebScrapping을 자동으로 돌아다니며 분석 및 저장등을 하는 행위 정도로 저장할수 있습니다. 쉽게 생각하는 크롤링(Crawling)- 사람들이 웹페이지에 직접 접속해서 정보를 읽어드리는 것과 유사- 인터넷상에 흩어져 있는 자료들을 사람 대신에 프로그램을 통하여 서핑하며 수집과 가공을 하는것- 이때 프로그램 구성에 따라 서핑능력의 차이가 발생하게 되는데 대표적으로 자바스크립트의 처리를 하는지 못하는지의 여부가 있습니다. 크롤링을 하기전 알아야하는 지식HTTP 매서드- GET: 리소스 요청 (크롤링에 주로 사용) => 받아드리는 녀석- POST: 대기 리소스 추가 요청이나 수정/삭제 목적으로 사용(크롤링에 주.. 더보기
[Django] 장고. 템플릿 상속받기 템플릿을 상속받는 이유HTML코드를 보면 부터 까지 중복적으로 사용하는 코드가 많을때 이 부분을 따로 html로 만들고 그대로 해당 코드들을 상속받아 편하게 사용할때 사용합니다. 1. 상속해줄 부모파일 만들기layout.html이라는 파일을 만들어주고 중복적으로 쓰는 코드들을 넣어줍니다.여기서 title과 body부분은 페이지마다 다르기 때문에 {% block %}을 사용합니다. 2. 상속받기메인페이지인 index.html입니다.아까 title은 block해줬었는데요 이부분만 빼고 지워줍니다. {% extends "elections/layout.html %}은 "경로"안에 있는 파일을 extends해서 상속받겠다는 뜻입니다.{% block title %} {% endblock %}사이에 타이틀정보를 넣어.. 더보기
[django] 장고. Page not found 404란? 404페이지 꾸며보기 Page not found 404란?클라이언트가 서버와 통신할 수 있는 상태이지만 서버를 찾을 수 없을때 나오는 오류로서버로 연결할수 없는 오류는 절대 아님. 그외 http 상태 코드@ 1xx (조건부 응답): 요청을 받았으며 작업을 계속한다100(계속): 요청자는 요청을 계속해야 한다. 서버는 이 코드를 제공하여 요청의 첫 번째 부분을 받았으며 나머지를 기다리고 있음을 나타낸다.101(프로토콜 전환): 요청자가 서버에 프로토콜 전환을 요청했으며 서버는 이를 승인하는 중이다.@ 2xx (성공): 클라이언트가 요청한동작을 수신하여 이해했고 승낙하였으며 성공적으로 처리200(성공): 서버가 요청을 제대로 처리했다는 뜻이다. 이는 주로 서버가 요청한 페이지를 제공했다는 의미로 쓰인다.201(작성됨): 성공적으.. 더보기