본문 바로가기

분류 전체보기283

Telegram API 이용해 네이버 기사를 보여주는 게 가능해? Telegram은 코인 정보 수집할 때 자주 들락거렸는데, 한동안 뜸했다. 최근 불장 바람에 다시 들어가 봤더니 수많은 채팅방들이 정보를 쏟아내고 있었다. 나만의 정보 제공방도 만들어 보면 재밌겠다. Telegram에서 제공하는 API를 이용해 메시지를 던지면 된다. 간단한 인사부터 뉴스 기사 정보 등 다양하게 제공할 수 있다. 1. Telegram API 등록하기 (1) Telegram에서 BotFather 검색한다. 짝퉁이 많으니 공식인지 확인한다. (파란색 둥근 체크박스) (2) 나만의 bot을 만든다. /newbot 입력하면 나의 bot을 만들 수 있다. (3) bot 이름과 username을 입력한다. username은 'bot'으로 끝나야 하고 중복을 체크한다. (4) Telegram API .. 2024. 3. 30.
웹 크롤링 실전 - 쿠팡 상세 페이지 정보 가져오기 지난 쿠팡 상품 리스트 추출에 이어 상세 페이지 정보도 한꺼번에 출력해 보자. 2024.03.28 - [코드리뷰/chatGPT(Python)코드] - 웹 크롤링 실전 - 쿠팡 상품 정보 가져오기 웹 크롤링 실전 - 쿠팡 상품 정보 가져오기 본견적으로 쿠팡 상품 정보를 수집해 보자. 1. 키워드 검색 keyword = input("KEYWORD : ") url = f"https://www.coupang.com/np/search?component=&q={keyword}" 2. 쿠팡 검색 결과 화면 분석하기 크롤링 결과를 잘 활용하기 iamgus.tistory.com 1. 쿠팡 상품 페이지 리스트 정의하기 상세 페이지 url을 담을 리스트 정의 하고 담기 link_list = [] for rank, item .. 2024. 3. 29.
웹 크롤링 실전 - 쿠팡 상품 정보 가져오기 본견적으로 쿠팡 상품 정보를 수집해 보자. 1. 키워드 검색 keyword = input("KEYWORD : ") url = f"https://www.coupang.com/np/search?component=&q={keyword}" 2. 쿠팡 검색 결과 화면 분석하기 크롤링 결과를 잘 활용하기 위해선 화면 분석이 정말 중요하다. 수집해야 할 상품을 솎아내야 한다. 광고 상품이나 이벤트 상품을 걸러야 하는 것이다. 그러기 위해선 개발자 도구 분석이 필수적이다. 각 상품은 search-product 클래스에 정의된다. 이 하위에 모든 상품 정보를 포함한다. 3. 코드 작성하기 아래 코드 차이는 정확한 클래스명을 지정하는 것이다. 첫번째는 search-product 클래스 외 또 다른 클래스가 함께 있어도 찾.. 2024. 3. 28.
웹 크롤링 실전 - 쿠팡 크롤링 안되면 이것만 넣어주면 됩니다. 쿠팡 파트너스를 통한 제휴 수익을 가장 크게 기대할 수 있는 곳이 바로 쿠팡이다. 얼마나 많은 봇들이 유용한 데이터를 수집하려고 설쳐 되겠는가! 단순 크롤링 코드로는 쿠팡 사이트 접속이 안 될뿐더러 자칫 잘못하면 차단이 될 수도 있다. 주의할 점을 알아보고 가장 기본적인 크롤링을 통한 쿠팡 접속을 해보자. 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.