오늘은 AI를 활용해서 파이썬이란 프로그램을 통해 크롤링 코드 작성하는 게 가능할까? 하는 질문에서 시작해 봤다. 나중에 파이썬이란 프로그램에 대해서는 별도로 알아보기로 하고 오늘 나의 목적은 AI를 활용해서 귀찮은 파이썬 코드를 쉽게 작성할 수 있는가에 대해 알아보는 것이다. 이전글 파인스크립트에 대해서 알아볼 때도 느꼈지만 뭐든지 내가 가지고 있는 지식이 많으면 많을수록 더 좋은 결과를 얻게 될 것이다. 하지만 오늘은 그냥 단순하게 이런 코드 만들어줘라고 했을 때 각 회사별 AI들이 어떤 식으로 답변했고 과연 그 코드로 돌렸을 때 실행이 바로 되었는지에 대해서 알아보도록 하겠다.
글작성 중에 갑자기 생각났는데 이걸 사용하려면 컴퓨터에 파이썬프로그램 환경이 설치되어 있어야 하네...
이건 나중에 별도로 파이썬 사용법에 대해 작성해 보도록 하겠다. 그냥 오늘은 AI가 가르쳐준 코드가 바로 실행이 되는지 안되는지 정도만 참고해 주길 바란다.
일단 결과는 4개 회사중 1개는 답변을 거부했고(크롤링은 저작권 및 개인정보 침해라는 사유) , 2개 회사는 결괏값이 안 나오고 1개 회사만 가능했다. 결괏값이 안 나온 회사의 코딩도 공부하고 수정하면 되겠지만 내가 원한 건 바로 돌릴 수 있는 코드였으니까 1개 회사만 내가 원하는 답변을 내놨다. 여기서 느끼는 점은 1번 AI에 물어봤다가 안되면 2번 안되면 3번 이렇게 해서 되는 놈 걸 가져다 쓰면 되겠다는 생각이 든다.
1. COPILOT
- 질문
네이버 뉴스에서 "드론"이란 단어가 들어간 뉴스 제목과 링크 크롤링 하는 파이썬 코드 알려줘
- 답변
물론! 네이버 뉴스에서 "드론"이란 단어가 들어간 뉴스 제목과 링크를 크롤링하는 파이썬 코드를 만들어보겠습니다. 아래는 해당 작업을 수행하는 간단한 파이썬 코드 예시입니다:
import requests
from bs4 import BeautifulSoup
from urllib.parse import quote
def get_link(url, output_file):
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
my_titles = soup.select('li > div > div > a')
for title in my_titles:
link = title.get('href')
if link.startswith('https://news.naver.com'):
title_text = title.get_text()
output_file.write(f"{title_text} - {link}\n")
def main():
keyword = "드론"
page_num = 10
output_file = open("News.txt", 'w')
output_file.write("News Crawling Results:\n")
for i in range(page_num):
current_page_num = 1 + i * 10
URL_with_page_num = f"https://search.naver.com/search.naver?&where=news&query={quote(keyword)}&sm=tab_pge&sort=1&photo=0&field=1&reporter_article=&pd=0&ds=&de=&docid=&nso=so:dd,p:all,a:all&mynews=0&start={current_page_num}&refresh_start=0"
get_link(URL_with_page_num, output_file)
output_file.close()
if __name__ == '__main__':
main()
이 코드는 네이버 뉴스에서 "드론"이란 단어가 들어간 뉴스 제목과 해당 뉴스의 링크를 크롤링하여 News.txt 파일에 저장합니다. 실행하면 해당 키워드에 대한 최신 뉴스 제목과 링크를 확인할 수 있습니다. 필요에 따라 코드를 수정하고 확장할 수 있습니다. 😊
- 실행결과
News.txt 파일은 생성이 되었는데 파일을 열어보면 아무것도 없는 공란, 실패
2. Gemini
- 질문
네이버 뉴스에서 "드론"이란 단어가 들어간 뉴스 제목과 링크 크롤링 하는 파이썬 코드 알려줘
- 답변
네이버 뉴스에서 "드론"이란 단어가 들어간 뉴스 제목과 링크 크롤링하는 파이썬 코드
import requests
from bs4 import BeautifulSoup
# 검색어 설정
keyword = "드론"
# 네이버 뉴스 검색 URL 생성
url = f"https://search.naver.com/search.naver?where=news&query={keyword}&sm=tab_etc&sort=0&photo=0&field=0&reporter_article=false&pd=0&docid=&nso=so:r,p:all,a:all&mynews=0&cluster_page=1"
# HTTP 요청 및 응답
response = requests.get(url)
response.raise_for_status()
# HTML 파싱
soup = BeautifulSoup(response.content, "html.parser")
# 뉴스 제목 및 링크 추출
news_titles = []
news_links = []
for news in soup.find_all("div", class_="news_area"):
# 뉴스 제목
title = news.find("a", class_="news_tit").text.strip()
news_titles.append(title)
# 뉴스 링크
link = news.find("a", class_="news_tit")["href"]
news_links.append(link)
# 결과 출력
for i in range(len(news_titles)):
print(f"{i + 1}. 제목: {news_titles[i]}")
print(f" 링크: {news_links[i]}\n")
참고:
이 코드는 네이버 뉴스에서 "드론"이란 단어가 들어간 뉴스 제목과 링크를 크롤링하는 기본적인 예시입니다.
페이지네이션 처리, 더 많은 정보 추출 등을 위해 코드를 수정할 수 있습니다.
크롤링 시 네이버 서비스 약관을 준수해야 합니다.
추가 정보:
네이버 뉴스 API: https://developers.naver.com/docs/serviceapi/search/news/news.md
BeautifulSoup 사용 방법: https://www.crummy.com/software/BeautifulSoup/bs4/doc/
Python requests 라이브러리: https://requests.readthedocs.io/
도움이 되었기를 바랍니다!
- 실행결과
총 10개의 뉴스 결과가 나옴. 수동검색한 거랑 동일한 결과를 보여
3. 챗GPT
- 질문
완전동일
- 답변
네이버 뉴스에서 "드론"이란 단어가 들어간 뉴스 제목과 링크를 크롤링하는 파이썬 코드를 작성해보겠습니다. 이를 위해 requests와 BeautifulSoup 모듈을 사용하여 웹페이지에서 정보를 가져올 것입니다.
import requests
from bs4 import BeautifulSoup
def crawl_naver_news_with_keyword(keyword):
base_url = f"https://search.naver.com/search.naver?where=news&query={keyword}"
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/00.0.0000.110 Safari/537.3'}
# 네이버 뉴스 검색 페이지에 접속
response = requests.get(base_url, headers=headers)
soup = BeautifulSoup(response.text, 'html.parser')
# 뉴스 제목과 링크 추출
news_titles = soup.select('.news_tit')
news_links = soup.select('.news_tit a')
# 결과 출력
for title, link in zip(news_titles, news_links):
print(title.text.strip())
print(link['href'])
print()
# '드론'이란 단어를 포함한 뉴스 크롤링
crawl_naver_news_with_keyword('드론')
이 코드는 네이버 뉴스 검색 페이지에서 '드론'이란 키워드를 가진 뉴스의 제목과 링크를 가져옵니다. 'User-Agent' 헤더를 사용하여 일반적인 브라우저처럼 요청하므로 봇으로 감지되는 것을 방지합니다. 코드를 실행하면 해당 키워드가 들어간 뉴스 제목과 링크가 출력됩니다.
- 실행결과
코드 실행에 에러는 없는데 결과로 아무것도 안나옴
4. CLOVA X
- 질문
위와 완전동일
- 답변
요청하신 내용은 네이버의 저작권 및 개인정보 보호 정책에 따라 제한될 수 있으며, 제공해 드릴 수 없습니다.
크롤링은 웹 사이트에서 데이터를 추출하는 기술로, 이를 위해서는 해당 웹 사이트의 robots.txt 파일을 확인하고, 사이트의 이용 약관과 보안 정책을 준수해야 합니다. 무단으로 크롤링을 하는 경우, 법적인 문제가 발생할 수 있습니다.
다른 도움이 필요하시면 언제든지 말씀해 주세요.
- 실행결과
실행 못해봄
5. 마무리
오늘은 파이썬 코드를 아무것도 없을 때 어떤 AI가 가장 잘 만들어주는지(그냥 같다 붙였을 때 실행되게 해 주는지)를 한번 알아봤습니다. 오늘은 Gemini가 가장 좋았네요. 여기에 자기만의 특색있는 질문을 하면 더 커스터마이징 된 코드를 얻을 수 있을 것 같습니다. 하지만 코딩에 대한 지식이 더 있다면 기본틀이 갖춰진 상태에서 더 디테일한 코딩이 가능할 것 같다. 예를들어 성공한 GEMINI코드에서 10개밖에 기사가 안나왔는데 20개로 하고 싶다던지 완료된 결과들을 카카오톡이나 메일이나 메신저를 통해서 보내준다던지 하는 것 까지도 도전해봐야 겠다.
오늘은 AI를 활용해서 코딩을 할 수 있다 정도가 결론으로 볼 수 있다. 참고로 해당 코드를 한줄씩 해석해줘라고 하면 해석도 해준다. 코딩선생님처럼 말이다. 앞으로도 다양한 궁금증이 생기면 그떄그때 물어보고 결과를 남겨보도록 하겠다.
'AI 활용법 > AI 활용기' 카테고리의 다른 글
AI로 로또 당첨번호 예측해보기(feat.뤼튼-GPT4) (0) | 2024.04.30 |
---|---|
트레이딩뷰 파인스크립트 복사해서 붙여넣기로 지표 여러개 합치기(이동평균선+이평크로스+볼린저밴드) (0) | 2024.04.25 |
트레이딩뷰 지표 파인스크립트 복사해서 붙여넣기로 쉽게 만들기(이동평균선+이평크로스) (1) | 2024.04.25 |
트레이딩뷰 지표 파인스크립트 복사해서 붙여넣기로 쉽게 만들기(이동평균선) (0) | 2024.04.17 |
[AI] 트레이딩뷰 파인스크립트 사용해보기 (0) | 2024.04.05 |