본문 바로가기

코드리뷰/chatGPT(Python)코드55

웹 크롤링 실전 - 쿠팡 크롤링 안되면 이것만 넣어주면 됩니다. 쿠팡 파트너스를 통한 제휴 수익을 가장 크게 기대할 수 있는 곳이 바로 쿠팡이다. 얼마나 많은 봇들이 유용한 데이터를 수집하려고 설쳐 되겠는가! 단순 크롤링 코드로는 쿠팡 사이트 접속이 안 될뿐더러 자칫 잘못하면 차단이 될 수도 있다. 주의할 점을 알아보고 가장 기본적인 크롤링을 통한 쿠팡 접속을 해보자. 1. robots.txt 확인 https://www.coupang.com/robots.txt 이 페이지는 외부에서 쿠팡 접속 시 허용하는 것과 아닌 것을 알려준다. 구글과 네이버 외에 다른 aget를 통한 접속은 허용하지 않는다. 다만 강제성은 없고 information이다. 사이트에 영향을 준다면 이 기준에 맞춰 문제를 일으키는 봇이나 프로그램을 차단할 수 있다는 경고이기도 하다. 원칙적으로는 금지하.. 2024. 3. 26.
웹 크롤링 기초 - 네이버 쇼핑몰 상품 정보 추출하기 BeautifulSoup, Selenium을 이용해 네이버 쇼핑몰 상품 정보를 추출해 보자. requests는 처리속도는 좋지만 동적인 페이지 소싱이 어려워 Selenium을 이용한다. 네이버 상품 정보를 추출하는 연습만으로 웹 크롤링 이해하는 데 크게 도움이 될 것이다. 제대로 익히면 다른 사이트 데이터 추출 역시 식은 죽 먹는 것처럼 쉬워질 것이다. 1.네이버 쇼핑몰 화면 분석하자. 네이버 쇼핑몰에 노트북으로 검색한다. 상품 이미지, 상품명, 가격, 속성 등이 포함된 리스트가 나타난다. https://search.shopping.naver.com/search/all?query=노트북 개발자 도구(F12)를 열어 데이터 추출할 키를 찾는다. 상품 리스트에 광고제품은 제외하자. class명이 광고와 일반.. 2024. 3. 24.
웹 크롤링 기초 - 셀레니움으로네이버 기사 제목 가져오기 지난 포스팅에 requests를 이용해 네이버 기사를 크롤링했었다. 2024.03.22 - [코드리뷰/chatGPT(Python)코드] - 웹 크롤링 기초 - 네이버 기사 제목 가져오기 웹 크롤링 기초 - 네이버 기사 제목 가져오기 웹 크롤링을 이용해 간단하게 네이버 기사 제목을 뽑아보자. 웹 데이터 추출을 위해 select_one/select/find/find_all 메소드를 이용한다. 기초지만 크로링에서 가장 중요한 기능을 담당한다고해도 과언 iamgus.tistory.com requests는 빠르다는 장점은 있지만 동적인 데이터를 가져오는데 한계가 있다. 셀레니움을 이용하면 이런 문제가 해결된다. 수많은 기능이 내장되어 있어서 일일이 다 기술할 수는 없지만, 동적 페이지 구현 부분을 해보도록 하자... 2024. 3. 23.
웹 크롤링 기초 - selenium 네이버 접속하기 동적인 웹 페이지, 즉 자바스크립트로 구성된 페이지는 일반적인(requests이용한) 크롤링을 통해 가져오기 어렵다. selenium이 등장하면서 간편하게 구현할 수 있게 되었다. selenium 기초 설정을 알아보자. 1. selenium 설치 : 별거없다. 아래 명령어 입력하고 엔터 치면 자동 설치된다. pip install selenium 2. 코드 작성 from selenium import webdriver url = "https://naver.com" driver = webdriver.Chrome() driver.get(url) selenium을 통한 네이버 접속 소스다. 이보다 간단할 순 없다. 3. 코드 추가 (options 설정) Options을 설정한다. (1) 프로그램 실행 시 웹 창을.. 2024. 3. 23.
웹 크롤링 기초 - 네이버 헤더 정보 가져와 설정하기 웹 사이트 정보를 크롤링해 가져올 때 가끔 안 되는 경우가 있다. 대부분 접속자 헤더정보를 체크해 막아버리는 경우가 많다. 무분별한 봇 크롤링을 통한 부하를 방지하기 위함인데, 이럴 경우 어떻게 해야 할까? 네이버를 예를 들어보자. 네이버는 크롤링 시 헤더정보를 체크하지 않지만, 체크한다고 가정하고 회피코드를 작성해 보자. 1. 크롤링 시 내 pc 헤더정보 확인하기 [파이썬 코드] url = f"https://search.naver.com/search.naver?ssc=tab.news.all&where=news&sm=tab_jum&query={keyword}" res = requests.get(url) print(res.request.headers) [출력 결과] {'User-Agent': 'python.. 2024. 3. 23.
웹 크롤링 기초 - 네이버 기사 제목 가져오기 웹 크롤링을 이용해 간단하게 네이버 기사 제목을 뽑아보자. 웹 데이터 추출을 위해 select_one/select/find/find_all 메소드를 이용한다. 기초지만 크로링에서 가장 중요한 기능을 담당한다고해도 과언이 아니다. [네이버 제목 추출 파이썬 코드] import requests from bs4 import BeautifulSoup keyword = input("KEYWORD : ") url = f"https://search.naver.com/search.naver?ssc=tab.blog.all&sm=tab_jum&query={keyword}" res = requests.get(url) if res.status_code == 200: html = res.text soup = BeautifulS.. 2024. 3. 22.
GRADIO 챗봇에 제휴링크 걸기 Streamlit에 이어 Gradio를 이용해 AI 챗봇을 만들어 보자. Gradio는 챗봇 인터페이스를 아주 쉽고 편리하게 제공한다. 여기에 OpenAI 인공지능을 탑재하면 된다. 1. Gradio 설치하기 pip install gradio 여느 파이썬 모듈과 동일하게 설치한다. 2. 코드 작성하기 chat_history를 이용해 상담내용을 기억하고 채팅창에 띄워준다. import gradio as gr from openai import OpenAI from dotenv import load_dotenv load_dotenv() client = OpenAI() with gr.Blocks() as demo: iframe_html = """ """ gr.HTML(iframe_html) chatbot = g.. 2024. 3. 18.
Streamlit 쿠팡 파트너스와 토스 후원 링크로 수익 창출 Streamlit 코드에 쿠팡 파트너스와 토스 후원 링크를 걸어보자. 간단한 코드로 수익을 창출 기회가 생길 수 있다니 재미있지 않은가! 1. 토스 후원 링크 만들기 토스 접속해 후원 링크를 만든다. 어렵지 않으니 만드는 방법은 패쓰~ https://toss.me/guslang guslang님에게 보내주세요 토스아이디로 안전하게 익명 송금하세요. toss.me 요렇게 생겼다. "익명 송금하기"를 눌러 송금하면 내 계좌에 꽂힌다. 2. 쿠팡 파트너스 배너 만들기 역시 쿠팡 파트너스에 가입하고 배너 광고를 만든다. 300 * 250 사이즈 ifream태그 코드를 복사한다. 3. Streamlit 코드 작성 from openai import OpenAI import streamlit as st from dot.. 2024. 3. 16.
ChatGPT로 지식검색 만드는 가장 쉬운 방법 회사에서 지식검색 사이트를 구축하려면 수많은 정보를 분석해 DB에 등록해야 한다. 편리하고 유용하겠지만 너무 많은 비용이 들어 간다. 하지만 ChatGPT라면 스스로 분석해 데이터를 구축한다. 어떻게 만드는지 알아보자. 기본적인 컨셉은 지난 포스팅(assistants API)에서 출발한다. 2024.03.11 - [코드리뷰/chatGPT(Python)코드] - 최고의 AI 연애코칭 전문가 만들기 2 최고의 AI 연애코칭 전문가 만들기 2 Assistants API를 이용해 연애상담 챗봇을 만들어 보자. 어시스턴스를 미리 정의해 만들어 두고, 쓰레드(방)를 만들어 대화내용을 기록하게 한다. 대화의 연속성을 얻을 수 있다. 매번 R&R을 지정하지 iamgus.tistory.com https://platfor.. 2024. 3. 11.
최고의 AI 연애코칭 전문가 만들기 2 Assistants API를 이용해 연애상담 챗봇을 만들어 보자. 어시스턴스를 미리 정의해 만들어 두고, 쓰레드(방)를 만들어 대화내용을 기록하게 한다. 대화의 연속성을 얻을 수 있다. 매번 R&R을 지정하지 않아도 되니 편리하다. 총 5개 스텝으로 만든다. from openai import OpenAI from dotenv import load_dotenv load_dotenv() client = OpenAI() # Step 1: Create an Assistant # my_assistant = client.beta.assistants.create( # instructions=""" # 당신은 연애코칭 전문가이자 심리학을 전공했습니다. 쉬운 용어를 이용해 이해하기 쉽게 상담하세요. # 규칙은 다음과 같.. 2024. 3. 11.