본문 바로가기

파이썬 크롤링15

크롤링 : 멜론 □ 목적 ○ 차트 1~100위 곡명, 아티스트, 엘범명 데이터 크롤링 ○ 아티스트 세부정보 접속 링크 추출 ○ 엘범명 세부정보 접속 링크 추출 □ 코딩과정 ○ 라이브러리 호출 ○ 함수정의 : 아티스트, 엘범 세부정보 접속시 자바스크립트 코드 안에 있는 번호 추출을 위해 함수지정 ○ * .text 는 해당 태그 또는 하위 태그안의 텍스트를 출력하지만, .string은 특정 태그값이 지정되었을 때 정확한텍스트를 추출함 □ 코드 # 라이브러리 호출 import requests import re from bs4 import BeautifulSoup # 크롤링 페이지 입력 # 네이버뷰 주소 + 검색키워드 target_url = 'https://www.melon.com/chart/index.htm' print(f'.. 2024. 2. 2.
네이버 뷰 크롤링 : 제목, 작성자, 링크 + 예외처리 □ 목적 ○ 네이버 뷰에 게시글별 제목, 작성자, 해당글의 링크 데이터를 추출해보자 □ 고려사항 ○ 입력한 키워드에 따른, 관련 키워드 뷰 페이지에서 크롤링하도록 구현 ○ 네이버는 수시로 데이터가 포함된 태그값들이 변화됨 ○ 이 부분을 고려하여 적절한 예외처리를 진행하여 오류가 발생되도 멈추지 않고 코드가 실행되도록 코딩 □ 참고사항 ○ .get_text() 와 .text 차이 - .get_text() 메서드는 BeautifulSoup에서 제공하는 메서드로, HTML 요소의 모든 텍스트를 추출. 이 메서드는 해당 요소의 모든 자식 요소의 텍스트를 합쳐서 반환. 예를 들어, [ 이것은 굵은 텍스트입니다. ]에서 .get_text()를 호출하면 "이것은 굵은 텍스트입니다."를 반환. - .text 속성은 B.. 2024. 1. 30.
임의 페이지 텍스트 크롤링 및 엑셀저장 □ 목적 : 게시판 타이틀과 각 타이틀별 댓글까지 크롤링, 전처리하여 엑셀로 깔끔하게 자동 저장 □ 활용 라이브러리 및 사용이유 import requests #크롤링 요청을 보낼 라이브러리 import openpyxl #엑셀 저장을 위해 사용 from bs4 import BeautifulSoup #크롤링 기능사용을 위해 호출한 라이브러리 from openpyxl.styles import Alignment, Font, colors, Border, Side #엑셀 데이터 디자인 효과를 위해 호출 □ 세부내용 ○ 특정 페이지 및 페이지의 게시글별 상세 페이지 데이터 크롤링 ○ 임의 사이트(개인수강하는 곳에서 지원하는 웹)에서 추출하고자하는 데이터를 +1개씩 증가하며 코딩 ○ 한개의 데이터 및 기능추가 시 함수.. 2024. 1. 30.
네이버 API : 데이터 엑셀저장 □ 목적 : 네이버 쇼핑몰에 등록된 품목(사용자가 조회한 키워드) 추출 □ 활용 라이브러리 ○ requests : API에 요청 및 응답으로 데이터 크롤링을 위해 활용 ○ openpyxl : 엑셀저장을 위해 □ API 중 http매서드 파라미터 참고사항 *링크: https://developers.naver.com/docs/serviceapi/search/shopping/shopping.md#%EC%87%BC%ED%95%91 ○ 해당 글 작성자는 요청 url + display, start 파라미터를 사용함 - 해당 코드(https://openapi.naver.com/v1/search/shop.json?query=노트북'&display=100&start=100)를 아래 코드와 같이 변환 - 위 코드를 해석하.. 2024. 1. 21.
네이버 API : 파이썬 코딩 위와 같이 네이버 API 와 postman으로 데이터를 요청하고 받을 수 있음. 이러한 방식과 같이 네이버 API와 파이썬으로 데이터를 요청하고 받고자함. ※ 준비사항 ① naver application ID : X-Naver-Client-Id ② naver application PW : X-Naver-Client-Secret □ 활용 라이브러리 ○ requests : 해당 데이터를 특정서버에 요청하여 가져오는 라이브러리 ○ pprint : 가시성 개선을 위한 출력을 위해 불러옴(json 형식으로 깔끔하게 출력해줌) import requests # 해당 데이터를 특정서버에 요청하여 가져오는 라이브러리 import pprint #가시성 개선을 위한 출력을 위해 불러옴(json 형식으로 깔끔하게 출력해줌) .. 2024. 1. 21.
API/JSON 이란?(+postman 활용 데이터 get) □ Open API(Rest API) ○ Application Programmin Interface ○ 특정 프로그램을 만들기 위해 제공되는 모듈(함수 등)을 의미 ○ Open API : 공개 API라고도 불리우며 누구나 사용할 수 있도록 공개된 API(주로 REST API 기술을 사용함) ○ REST API : Representational State Transfer API 약자, HTTP 프로토콜을 통해 서버제공 기능을 사용할 수 있는 함수 의미 - 일반적으로 XML, JSON 형태로 응답을 전달 □ JSON ○ JavaScript Object Notation ○ 웹환경에서 서버와 클라이언트 사이에 데이터를 주고받을 때 많이 사용 ○ 형태 : {'키':'벨류'~~} * TMI) localhost = .. 2024. 1. 19.