파이썬은 웹 데이터 수집에 최적화 언어인 것 같습니다. 초보 개발자도 단 몇 줄의 짧은 코드로 웹 상의 데이터를 수집할 수 있으니까요. 모든 유용한 정보는 인터넷으로 모여듭니다. 유용한 데이터를 수집할 수 있는 능력을 키우면 돈을 벌 수 있는 세상입니다. 파이썬 열심히 해봅시다.^^
이번에 동적 데이터, 즉 화면에서 이벤트가 발생할 때 추출할 수 있는 정보의 수집 방법입니다. 기존 파이썬 requests를 이용해 웹 페이지 정보를 가져와 사용할 수 있었지만, 일부 데이터는 수집이 불가한 경우가 있습니다. 자바스크립트로 동적인 변화가 일어나는 코드들이죠. 예를 들면 상품의 구매 후기/한줄평 같은 거죠.
상당히 유용한 정보들이 담겨 있는 경우가 많아서, 이건 꼭 배워야 합니다. 사람들이 온라인에서 물건 구매할 때 사용후기 보지 않고 사지는 않으니까요. 이런 데이터를 잘 수집할 수 있어야 돈을 벌 수 있습니다.
크롬 브라우저 설치
파이썬에서 크롬을 실행시켜 데이터를 수집합니다. 마치 사람이 직접 브라우저에서 웹 서핑하는 것처럼요. 최신버전을 설치합니다.
Selenium 설치
requests와 비슷한 기능을 가지고 있습니다. 다만 webdriver API를 통해 크롬 브라우저를 제어할 수 있어서 더 강력합니다. 자바스크립트를 이용해 비동기적으로 생성되는 컨텐츠도 수집할 수 있는 능력이 있죠. 즉, 웬만하면 다 가져온다고 보면 됩니다.
Selenium 설치는 해야죠. 아래 명령어로 합니다.
pip install selenium
Chrome WebDriver 다운로드
Selenium이 크롬을 제어하기 위해 Chrome WebDriver를 다운로드합니다. 자신 PC의 크롬 브라우저 버전에 맞는 버전을 찾아 다운로드 합니다. 별도 설치는 없고 다운로드한 파일 압축 풀고 테스트할 폴더에 넣어두면 됩니다.
[다운로드]
https://sites.google.com/chromium.org/driver/downloads
동적 데이터 가져오는 코드작성
YES24 도서 독자 리뷰를 가져오는 코드를 작성해 보겠습니다.
from urllib.parse import quote_plus
from bs4 import BeautifulSoup
from selenium import webdriver
baseUrl = 'http://www.yes24.com/Product/Goods/116579452'
url = baseUrl
driver = webdriver.Chrome()
driver.get(url)
html = driver.page_source
soup = BeautifulSoup(html, 'html5lib')
rviews = soup.select('#infoset_reviewContentList > div:nth-child(4) > div.reviewInfoBot.crop > a > div')
print (rviews[0].text)
출력 결과
개인적인 생각
사용자 후기나 한줄평 같은 데이터는 마케팅에 큰 영향을 주는 요소입니다. 지금까지 수작업으로 이런 부분을 확인해 왔다면, 파이썬을 이용해 자동 수집해 분석할 수 있는 방향으로 진행한다면 괜찮은 파이프라인이 될 것 같은 생각이 듭니다. 중요한 건 자동화죠. 이 부분에 대해서는 아래 게시물을 참고해 주세요.
2022.12.25 - [전자책 만들기] - 2주차 크몽 전자책 판매 후기/수익 공개 - 1일 1포스팅 자동화
'전자책 만들기' 카테고리의 다른 글
파파고(Papago) API 무료 번역, 티스토리 자동 게시하기 (2) | 2023.01.28 |
---|---|
크몽 전자책(PDF) 판매 수익 공개합니다. - 패시브인컴 가능할까 (10) | 2023.01.07 |
100만원 부수입 올리는 가장 쉬운 방법 - 인공지능 ChatGPT 답변은? (2) | 2022.12.30 |
댓글