ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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")

     

    라고 나오네요..내일 개발자들과 코드 테스트해 봐야 할 거 같습니다...

     

Designed by Tistory.