-
MS 빙챗(Bing Chat)으로 RPA 파이썬 코드 짜기AI 2023. 3. 8. 23:50
MS 빙의 채팅 승인을 받아서 아래와 같이 요청해 보았습니다..
"매일 주기적으로 네이버와 구글에서 특정 키워드로 크롤링을 하는 RPA 코드를 파이썬으로 짜주세요"
답변은.....
파이썬으로 크롤링을 하는 RPA 코드를 짜려면, 다음과 같은 라이브러리가 필요합니다.
requests: 웹 페이지에 접속하고 HTML 소스를 가져오는 라이브러리입니다.
BeautifulSoup: HTML 소스를 파싱하고 원하는 정보를 추출하는 라이브러리입니다.
selenium: 웹 브라우저를 제어하고 동적인 웹 페이지를 크롤링하는 라이브러리입니다.
schedule: 주기적으로 코드를 실행할 수 있게 해주는 라이브러리입니다.
다음은 이러한 라이브러리들을 사용하여 네이버와 구글에서 특정 키워드로 크롤링을 하는 RPA 코드의 예시입니다. 이 코드는 매일 오전 10시에 실행되며, 검색 결과의 제목과 링크를 csv 파일로 저장합니다.
# 필요한 라이브러리 임포트
import requests
from bs4 import BeautifulSoup
from selenium import webdriver
import csv
import schedule
import time
# 크롤링할 키워드 리스트
keywords = ["빙", "RPA", "파이썬"]
# 네이버에서 키워드 검색하고 결과 크롤링하는 함수 정의
def naver_crawling(keyword):
# 네이버 검색 URL 생성
url = f"https://search.naver.com/search.naver?where=news&sm=tab_jum&query={keyword}"
# requests 모듈로 URL에 접속하고 HTML 소스 가져오기
response = requests.get(url)
# BeautifulSoup 객체 생성
soup = BeautifulSoup(response.text, "html.parser")
# 검색 결과의 제목과 링크가 있는 태그들 찾기
articles = soup.select("ul.list_news > li > div.news_area > a")
# 결과를 저장할 리스트 생성
result = []
# 각 태그에서 제목과 링크 추출하기
for article in articles:
title = article.text # 제목은 태그의 텍스트 부분에 있음
link = article["href"] # 링크는 태그의 href 속성에 있음
result.append([title, link]) # 제목과 링크를 리스트로 만들어 result에 추가하기
return result
# 구글에서 키워드 검색하고 결과 크롤링하는 함수 정의 (selenium 사용)
def google_crawling(keyword):
# 구글 검색 URL 생성 (q는 쿼리 파라미터)
url = f"https://www.google.com/search?q={keyword}"
# selenium을 위한 웹 드라이버 설정 (Chrome 사용)
options = webdriver.ChromeOptions()
# headless 옵션: 실제로 창을 열지 않고 백그라운드에서 작업 수행 가능
options.add_argument("headless")
# user-agent 옵션: 서버가 클라이언트가 어떤 환경인지 알 수 있도록 정보 전달
options.add_argument("user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36")
# 드라이버 객체 생성
driver = webdriver.Chrome(options=options)
# URL에 접속하기
driver.get(url)
# BeautifulSoup 객체 생성
soup = BeautifulSoup(driver.page_source, "html.parser")
# 검색 결과의 제목과 링크가 있는 태그들 찾기
articles = soup.select("div.g > div.tF2Cxc > div.yuRUbf > a")
라고 나오네요..내일 개발자들과 코드 테스트해 봐야 할 거 같습니다...
'AI' 카테고리의 다른 글
(챗GPT Test)금융권 대출 상품 홍보를 위한 예측 작업에 대한 질문과 답.... (0) 2023.03.11 AI 챗봇 제안시에 사전 체크 리스트 .... (0) 2023.03.10 MS의 MLLM(Multimodal Large Language Model) 모델인 Kosmos-1 (0) 2023.03.08 "Genarative AI: Stanford HAI의 관점" 전망 보고서 (0) 2023.03.08 IT관제 센터에서 Auto ML을 잘 활용하는 업무는? (0) 2023.03.06