본문 바로가기
IT 트렌드 & 팁

[챗gpt 활용] 네이버 크롤링 웹스크래핑 하는 방법(파이썬 노코드)

by 데싸루나 2023. 2. 22.

챗gpt가 코딩에 정말 능하다는 사실을 알고 계시나요? 이제는 코딩을 할 줄 몰라도 챗gpt 도움을 받아서 여러 가지 프로그램을 직접 짜볼 수 있습니다. 이번 포스팅에서는 챗gpt를 이용하여 네이버 블로그 검색결과를 크롤링/웹스크래핑 하는 방법을 알아보도록 하겠습니다.

 

챗gpt-네이버-크롤링-웹스크래핑
챗gpt-네이버-크롤링-웹스크래핑

 

챗gpt를 이용하여 네이버 블로그 검색결과 크롤링(웹스크래핑) 하는 방법

방법은 챗gpt에게 URL을 주면서 어떤 식으로 크롤링(웹스크래핑) 할 건지 말로 설명을 하는 것인데요. 실제로 프로그래머에게 의뢰를 한다고 생각하고 필요한 정보를 챗gpt에게 알려주면 됩니다. 크롤링(웹스크래핑)을 위해서는 우선 어떤 URL에서 크롤링을 할건지를 알려줘야겠죠? 그리고 어떤 걸 원하는지 구체적으로 알려줘야 합니다. 예를 들어 네이버에 특정 검색어를 입력해서 블로그 탭 첫 페이지에 뜨는 블로그 글들의 제목을 가져오고 싶다면, 챗 gpt에게 해당 부분 html을 예시로 보면서 여기서 이부분(제목) 가져오고 싶어라고 알려주면 됩니다. 프롬프트 예시를 보여드리겠습니다. 영어로 작성하긴 했지만 한글로도 가능합니다. 

 

 

챗gpt에게 웹스크래핑/크롤링 부탁하는 프롬프트

"I want to make a program that web scrapes a list of titles with certain keyword from the URL “https://search.naver.com/search.naver?where=view&sm=tab_jum&query=#keyword” #keyword will be replaced with the input in the code. I have a part of example html for ‘title’ : “html 예시 들어가는 곳” So the code should extract “예시로 추출한 제목적기” for a title from this html. Please make a code."

 

html 확인하는 방법

위의 프롬프트에서 "html 예시 들어가는 곳"에 대체할 html 확인하는 방법을 알려드리겠습니다. 아래 화면은 예시로 '파이썬'이라고 검색하고 View탭에서 - 블로그만 선택한 화면입니다. 그 상태에서 F12버튼을 누르면 아래와 같이 Developer 모드가 실행이되는데 좌측 중단에 사각형모양에 마우스포인트 그려진 아이콘을 클릭하고 화면에 마우스오버하면 특정부분 선택이 가능해집니다. 그러면 가져오고싶은 부분(이 예시에서는 블로그의 제목)을 클릭을 합니다. 

html 코드 확인
html 코드 확인

 

 

그러면 html코드에서 블로그 제목에 해당하는 부분이 아래와 같이 음영박스가 쳐지는데요. 그부분으로 마우스를 가져가서 우클릭 - Copy - Copy element를 하면 해당부분 html이 복사가 됩니다. 이 복사된 html을 위 프롬프트 “html 예시 들어가는 곳”에 채워주시고, 이 예시에서 내가 추출하고 싶은 제목에 해당하는 "파이썬자격증 취득 독학보다~" 부분을 " 위 프롬프트 예시의 “예시로 추출한 제목적기” 부분에 대체해 주시면 됩니다. 

html 코드 확인
html 코드 확인

 

그러면 챗gpt가 다음과 같이 코드를 짜서 줍니다. 만약 파이썬을 설치해서 쓰시는 분이라면 로컬 주피터노트북 등을 여셔서 해당 코드를 복사 붙여넣기한 후 실행해 보시면 되고요. 만약 코딩이 처음이라 파이썬을 어떻게 실행시켜야 할지 모르시겠는 분들은 전혀 걱정하실 필요가 없습니다. 구글 코랩을 이용하시면 클릭몇번에 파이썬 코드를 바로 실행시킬 수 있습니다. 우선 구글코랩 소개한 포스팅도 함께 참고해주세요. 

chatgpt-webscrape-crawling
chatgpt-webscrape-crawling

 

 

아래는 구글 코랩에서 코드를 붙여 넣어 실행해 본모습입니다. 제가 요청했던 대로 네이버에서 특정 검색어로 검색시 블로그 상위 노출 제목들을 쭉 출력해 주는 코드를 짜주었습니다. 

 

 

구글 코랩 파이썬 코드 실행
구글 코랩 파이썬 코드 실행

 

Chatgpt가 짜준 코드도 함께 첨부합니다. 아래 코드를 사용하고자 하실 때, keyword = "파이썬" 부분을 본인이 원하는 검색어로 변경을 해주시면 됩니다. 

 

import requests
from bs4 import BeautifulSoup

# specify the URL and keyword
url = "https://search.naver.com/search.naver?query=#keyword&nso=&where=blog&sm=tab_opt"
keyword = "파이썬"

# replace #keyword with the actual keyword in the URL
url = url.replace("#keyword", keyword)

# send a request to the URL and get the HTML content
response = requests.get(url)
html_content = response.content

# parse the HTML content using Beautiful Soup
soup = BeautifulSoup(html_content, "html.parser")

# find all titles that contain the keyword
titles = soup.find_all("a", {"class": ["api_txt_lines total_tit", "api_txt_lines total_tit _cross_trigger"]})
for title in titles:
    if keyword in title.text:
        print(title.text)

 

 

만약 위의 코드를 좀더 고도화하고 싶으신 경우 아래와 같이 추가적으로 세부 요청사항을 챗gpt에게 더 요청하면 됩니다. 예를 들어 여기서 나온 결과를 엑셀로 내려받아 저장하고 싶을 경우에 아래와 같이 요청할 수 있습니다. 

 

"I have this web scraping code and I want to download the results as an excel file. please revise the code. #Shift+Enter 하여 줄 바꿈 한 후에 위의 코드를 붙여 넣기"

 

그러면 아래와 같이 수정된 코드를 결괏값으로 주고, 해당 코드를 실행하면 엑셀로 다운로드할 수 있습니다. 

import requests
from bs4 import BeautifulSoup
import pandas as pd

# specify the URL and keyword
url = "https://search.naver.com/search.naver?query=#keyword&nso=&where=blog&sm=tab_opt"
keyword = "파이썬"

# replace #keyword with the actual keyword in the URL
url = url.replace("#keyword", keyword)

# send a request to the URL and get the HTML content
response = requests.get(url)
html_content = response.content

# parse the HTML content using Beautiful Soup
soup = BeautifulSoup(html_content, "html.parser")

# find all titles that contain the keyword
titles = soup.find_all("a", {"class": ["api_txt_lines total_tit", "api_txt_lines total_tit _cross_trigger"]})

# create a list of titles
title_list = [title.text for title in titles if keyword in title.text]

# create a dataframe from the list of titles
df = pd.DataFrame({'Title': title_list})

# save the dataframe to an Excel file
df.to_excel('blog_titles.xlsx', index=False)

 

구글코랩을 사용하시는 분들은 다운로드된 파일을 "content"폴더 내에서 찾으실 수 있습니다.

구글 코랩 엑셀 다운로드
구글 코랩 엑셀 다운로드

 

 

 

여기까지 챗gpt에게 웹스크래핑/크롤링을 시켜보았는데요. 챗gpt에게 어떻게 프롬프트를 통해 프로그램/코딩을 요청하는지 감이 잡히시나요? 이런 방법을 사용하면 다른 어떤 사이트들도 응용하여 적용해 볼 수 있습니다. 웹스크래핑이라 하면 전문 고급 기술이 필요한 것처럼 자칫 느껴질 수 있는데 chatgpt가 그 허들을 낮춰주는 역할을 톡톡히 하고 있는 것 같습니다. 챗gpt가 코드를 직접 짜주니 이정도는 노코드로 봐도 무방한 것 같네요. 다음번에도 흥미로운 챗gpt 활용법을 가져와 보도록 하겠습니다. 

 

<참고하면 좋은 포스팅>

 

 

[챗gpt 활용팁] chatgpt로 차트, 다이어그램 그리는 방법

챗gpt는 챗봇 서비스이기 때문에 텍스트 형태의 답변만 제공이 가능합니다. 하지만 챗gpt를 이용해 차트나 다이어그램을 그릴 수 있는 방법이 있습니다. 챗gpt에게 차트나 다이어그램을 그려달라

datasciencediary.tistory.com

 

 

미국유학생의 챗 GPT 파이썬 등 코딩, 프로그래밍 활용기

챗 GPT가 나오고 다양한 곳에서 사용이 되고 있다. 블로그 포스팅이나 이메일 내용 수정 등에도 활용할 수 있지만 뭐니 뭐니 해도 코딩 분야에서 엄청난 혁신을 불러일으켰다고 볼 수 있다. 에러

datasciencediary.tistory.com

 

댓글