본문 바로가기

python6

[Python] 네이버 플레이스(naver place) 리뷰 크롤링 지난 번 네이버 플레이스를 통해 크롤링을 해봤는데,이번에는 리뷰를 가져오는 코드를 실습해보았다. 특히 수집된 데이터를 다시 자연어 처리해 다른 분석을 해볼 때도 유용할 것 같다.  그리고 최근에 알게 된 사실인데, 크롤링(Crawling)과 스크래핑(Scraping)은 구분되는 개념이지만 그냥 크롤링이라는 명칭을 썼다. 사실 지금 하는 실습은 스크래핑이라는 것을 밝혀둔다. 1.탐색네이버 리뷰는 어디서 볼 수 있을까? 네이버 리뷰는 크게 2가지 방법으로 노출되고 있는데, 네이버 맵과 네이버 플레이스다.네이버 맵으로 접근하는 건 다른 개발블로그에서 많이 봤었고, 효율적인 코드가 많았다.맵에서는 검색 기반이라 특정 페이지로 바로 들어가는 건 불가능하고, 오직 검색을 통해서만 접근 할 수 있다.그런데 첫번째 검.. 2024. 8. 11.
[Pandas] concat, merge 구분하기 데이터를 합치는 concat()과 merge() 메서드 pd.concat과 pd.merge는 둘 다 데이터프레임을 결합하는 데 사용되는 메서드다. 그러나 각각 다른 방식으로 작동하며, 다른 상황에서 사용될 수 있다. 그래서 두 개념은 한 번에 정리해두는 게 좋겠다. 1. pd.concat() pd.concat 함수는 주어진 데이터프레임을 연결(concatenate)하여 새로운 데이터프레임을 생성한다. 데이터프레임을 행 또는 열 방향으로 연결이 가능하다. 연결하는 데이터프레임의 구조와 인덱스는 유지되며, 연결한 결과는 단순히 데이터프레임을 이어붙인 형태로 반환된다. 일반적으로 pd.concat은 데이터프레임을 단순히 결합하고자 할 때 사용되는데 예를 들어, 여러 개의 데이터프레임을 행 방향으로 연결하여 전.. 2023. 6. 22.
[Pandas] iloc, loc 인덱싱 구분하기(차이와 사용방법) 데이터 전처리의 꽃인 pandas, 그 중에서 핵심인 인덱싱을 정리해보려고 한다. pandas에서는 iloc과 loc 두 가지 방법이 있다. 샘플 데이터프레임 생성 직접 데이터 프레임을 만들어 해보자. import pandas as pd # 샘플 데이터프레임 생성 data = {'Name': ['Jino', 'Jun', 'Dayna', 'Sopia', 'Jay'], 'Age': [29, 28, 21, 32, 35], 'City': ['Seoul', 'New York', 'Paris', 'London', 'Tokyo']} df = pd.DataFrame(data) # 데이터프레임 출력 print(df) 1. iloc 먼저 iloc는 정수 기반의 인덱싱을 사용한다. 즉, 정수 인덱스를 사용하여 특정 위치의 .. 2023. 5. 27.
[Python] json 파일 읽어서 csv로 저장하기 아래는 json 파일로 되어 있는 파일을 파이썬으로 읽어 엑셀로 저장하기 위한 코드이다. 우선 json은 파이썬의 딕셔너리처럼 키와 값, 두 쌍으로 이루어진 자료형식이다. 오픈 API를 사용하거나 크롤링을 진행할 때 자주 만나게 되고 아래 방법을 알기 전에는 엑셀로 전처리하기도 했는데 상당히 비효율적이고 휴먼에러가 발생한 여지가 있다. 그래서 아래와 같이 json파일을 읽어오면 휠씬 빠르게 가공하여 활용할 수 있다. import requests import pandas as pd import json url = '' #json URL response = requests.get(url) contents = response.text json_ob = json.loads(contents) body = json.. 2023. 1. 24.
[Python] 네이버 플레이스 크롤링(selenium, BS4) 특정 지역의 데이터셋을 가지고 공부해보고 싶은게 있어서 지역 정보가 필요했다. 그런데 무식하게 긁어올 수 없어서 웹크롤러를 만들어보기로 했다. 바로 떠오른 생각은 네이버 지도에서 가져오는 것인데, 이게 생각보다 쉽지 않았다. 그래서 패쓰하고 네이버 플레이스 서비스로 접근했다. (OPEN API도 있었는데 전화번호 정보는 가져오지 못하는 한계가 있었다.) 우선 기본적인 라이브러리를 불러온다. 네이버에서는 일단 크롤링에 대해서 관대하지 않기 때문에 몇 가지 주의사항이 있다. from selenium.webdriver.common.by import By from urllib3.util.retry import Retry from requests.adapters import HTTPAdapter from bs4 .. 2022. 12. 20.
웹 크롤링(Web Crawling/Scraping)은 과연 합법일까? 1. 웹 크롤링(Web Crawling) 웹크롤링은 무엇인가? 웹 크롤러(web crawler)는 하나 이상의 웹사이트의 일부 또는 전체를 자동으로 정보를 수집하는 프로그램으로 정의할 수 있다. 웹 스파이더(web spider), 자동 인덱서(automatic indexer) 등으로 불리기도 한다. 웹 크롤링(web crawling)이란 이러한 프로그램을 통해 이루어지는 작업을 의미한다. 웹 크롤러가 하는 작업을 '웹 크롤링'(web crawling) 혹은 '스파이더링'(spidering)이라 부른다. 검색 엔진과 같은 여러 사이트에서는 데이터의 최신 상태 유지를 위해 웹 크롤링한다. 웹 크롤러는 대체로 방문한 사이트의 모든 페이지의 복사본을 생성하는 데 사용되며, 검색 엔진은 이렇게 생성된 페이지를 보.. 2022. 6. 12.