티스토리 뷰

 

https://google-chrome.en.uptodown.com/windows/versions

주제: Python을 이용한 웹 크롤링 및 비즈니스 활용

소스코드 깃허브 바로가기 

개발환경: 윈도우즈 10, 크롬 브라우저, 파이참 개발도구, 파이썬 10버전, 아나콘다 라이브러리 외

학습목표
  1. 웹크롤링으로 데이터를 수집하는 프로세스를 파이썬의 다양한 라이브러리를 활용하여 처리할 수 있다.
  2. 다양한 웹사이트와 공공데이터 포탈에서 제공되는 데이터 중에서 필요한 데이터를 쉽게 크롤링 할 수 있다.
  3. 단순 반복 업무를 자동화 프로그램으로 만듦으로써 효율적인 업무처리를 할 수 있다.
  4. 크롤링에 주로 사용되는 객체는 BeautifulSoup 이다
  5. BeautifulSoup 은 태그(name)와 속성(attribute) 를 반환한다.
  6. 셀레니움 라이브러리는 options에 headers 를 추가하여 설정한다.
  7. 셀레니움은 브라우저를 종료하기 위해 close() 메소드를 사용한다. 
  8. 셀레니움은 send_keys() 를 통해 키보드의 키를 입력한다.
  9. webdriver 은 웹브라우저를 실행시키는 라이브러리이다.
  10. requests 는 get() 함수를 사용한다
  11. css 셀러터에서 id 는 # 을사용하고, 클래스는 . 을 사용한다.
  12. BeautifulSoup 은 find(), find_all(), selelct() 메소드를 사용한다.

데이터 수집의 방식이 변화하고 있습니다.

  • 챗GPT 를 활용한 크롤링의 예시

https://izy.codes/crawling-etf-python-chatgpt/

 

구글미트 주소 : To join the video meeting, click this link: https://meet.google.com/erk-qkqd-bsd

깃허브 포크 주소

깃허브 등록 SSH 방식

 

목차
Chapter 01 파이썬 시작하기

01 _ 01 파이썬 살펴보기
파이썬이란?

파이썬 언어의 특징 및 장점
[참조] 클라우드와 로컬머신
01 _ 02 파이썬 개발환경 구성
파이참 설치 및 아나콘다 연동
깃허브 가입 및 깃 설치
구글시트 연동하기
Chapter 02 파이썬의 기본 문법 익히기

객체(object, instance)는 서로 연관된 데이터와 그 데이터를 조작하기 위한 함수를 하나의 집합에 모아놓은 것이다.
02 _ 01 출력 print
02 _ 02 입력 input
02 _ 03 변수 - 숫자형, 문자형, 소수점형, BOOL형
02 _ 04 자료형 - 리스트, 튜플, 딕셔너리, 집합

변수와 자료형에 대한 이해 : 파이썬 객체지향 개념
02 _ 05 연산 - 사칙연산, 논리연산, 비교연산
02 _ 06 조건문
02 _ 07 반복문 while문, for문

구구단 예제를 통한 while 문으로 메뉴제작하기
02 _ 08 오류 및 예외처리
02 _ 09 함수
02 _ 10 클래스
02 _ 11 데이터프레임
02 _ 12 import


Chapter 03 기초 프로그램 만들기

PROJECT 01 _ 숫자 맞추기 게임 만들기
임의의 숫자 생성 코드 만들기
숫자 맞추는 게임 코드 만들기
게임 코드 트러블슈팅

PROJECT 02 _ 컴퓨터의 외부 및 내부 IP 확인하기
컴퓨터 내부 IP 알아보는 코드 만들기
컴퓨터 외부 IP 알아보는 코드 만들고 실행
내부, 외부 IP 한 번에 출력하는 코드 만들고 실행

PROJECT 03 _ 텍스트를 음성으로 변환하기
텍스트를 음성으로 변환하는 코드 만들기
파일에서 문자를 읽어 음성으로 출력하는 코드 만들고 실행

PROJECT 04 _ QR코드 생성기
QR코드 생성 코드 만들고 실행
여러 개의 QR코드를 한 번에 생성하는 코드 만들고 실행

PROJECT 05 _ 컴퓨터의 정보 확인
컴퓨터 정보 확인 코드 만들기
필요한 정보만 출력하는 코드 만들기
1초당 반복해서 정보를 출력하는 코드 만들기

PROJECT 06 _ 압축파일 암호 푸는 프로그램
압축파일 생성하기
압축 푸는 코드 만들고 실행
비밀번호를 찾으면 프로그램이 종료되는 코드 만들고 실행

PROJECT 07 _ 환율 변환기
지원되는 통화목록 출력 코드 만들기
1달러를 원화로 변환한 결과 출력 코드 만들기
실시간 환율 정보 크롤링 코드 만들기

PROJECT 08 _ 쓰레드를 사용한 프로그램
2가지 동작이 동시에 실행되는 코드 만들고 실행
메인코드가 동작할 때에만 쓰레드 동작하는 코드 만들기
다수의 쓰레드를 동작시키는 코드 만들고 실행

Chapter 04 자동화 프로그램 만들기

PROJECT 09 _ 영어 문서를 한글로 자동번역
번역 프로그램 코드 만들기
영어 문서를 한글로 번역하는 코드 만들기
번역 내용을 새 파일로 저장하는 코드 만들기

PROJECT 10 _ 오토마우스를 활용한 웹페이지 자동화
마우스의 좌표를 출력하는 코드 만들기
네이버에서 자동으로 서울 날씨 검색하는 코드 만들기
서울 날씨 화면 자동 캡처 후 저장하는 코드 만들기
여러 지역 날씨를 자동으로 검색 후 저장하는 코드 만들기

PROJECT 11 _ 오토마우스를 활용한 PC카카오톡 자동화
PC카카오톡에서 내 사진 캡처 후 저장
사진에서 좌표 추출하는 코드 만들기
좌표를 이용하여 메시지를 자동으로 보내는 코드 만들기
일정 시간마다 동작하는 코드 만들기
일정 간격마다 보내는 코드 만들기

PROJECT 12 _ 엑셀의 정보를 불러와 수료증 자동 생성
수료증명단 엑셀 파일 만들기
판다스 라이브러리로 값을 엑셀로 저장 후 불러오는 코드 만들기
수료증 레이아웃을 워드 문서로 만들기
수료증 내용을 채운 후 저장하는 코드 만들기
수료증 생성 후 PDF로 변환하는 코드 만들기

PROJECT 13 _ 이메일을 수집하여 엑셀에 기록하기
이메일 형식을 추출하는 코드 만들기
리스트에서 중복 내용 제거하는 코드 만들기
사이트에서 이메일 수집하는 코드 만들기
수집한 이메일 주소를 엑셀에 저장하는 코드 만들기

PROJECT 14 _ 구글 및 네이버 이메일 보내기 및 대량 이메일 전송
네이버와 구글 이메일 설정
네이버 메일을 보내는 코드 만들기
구글 메일을 보내는 코드 만들기
파일을 첨부하여 메일 보내는 코드 만들기
html 형식 메일 보내는 코드 만들기
엑셀 파일에서 대량으로 이메일 보내는 코드 만들기

PROJECT 15 _ slack으로 스마트폰에 메시지 보내기
워크스페이스 생성과 봇(로봇) 만들기
봇(로봇) 채널로 메시지 보내는 코드 만들기
스마트폰에서도 봇(로봇)이 보낸 메시지 확인

PROJECT 16 _ 이메일로 특정 키워드가 오면 스마트폰으로 알림 보내기
네이버 이메일을 읽는 코드 만들기
이메일 본문 내용을 읽는 코드 만들기
특정 키워드의 이메일을 받으면 메시지 보내는 코드 만들기
반복 실행하여 새로운 이메일이 있을 경우에만 메시지 보내는 코드 만들기

PROJECT 17 _ 텔레그램으로 스마트폰에 메지시 보내기
라이브럴리 설치
텔레그램을 통해 BotFather 봇 설치
API Token을 이용하여 bot의 ID 알아내는 코드 만들기
텔레그램 bot 기능을 활용하여 메시지의 자동응답 보내는 코드 만들기

PROJECT 18 _ 스마트폰 자동화
adb 서버 실행
스마트폰을 제어하는 코드 만들기
웹 브라우저 화면 캡쳐 후 저장하는 코드 만들기

Chapter 05 크롤링, 이미지처리, 데이터분석 시각화 프로그램 만들기
웹크롤링 개발 환경 설정하기

데이터 크롤링

데이터프레임 생성방법 3가지

예제 1

뷰티플숩 사이트에서 예제 테스트하기

예제 2

벅스뮤직 랭킹을 엑셀파일로 저장하기

실습 1

멜론뮤직 랭킹을 엑셀파일로 저장하기

예제 3 : 다음영화 사이트 바로가기

다음영화 리뷰를 엑셀파일로 저장하기

예제 4

Kind 에서 종목코드 얻고, 네이버증권에서 시세정보 엑셀로 저장하기

PROJECT 19 _ 구글 이미지 크롤링
크롬 드라이버를 자동으로 설치하는 코드 만들기

크롬드라이버 다운로드
구글 상에서 이미지 크롤링하는 코드 만들기

구글 api 설정하기
크롤링한 이미지 다운로드 받는 코드 만들기
주피터 노트북 코드를 py 코드로 변경

# 이미지 조회하는 구글 URL

https://www.google.co.kr/imghp?hl=ko&tab=wi&authuser=0&ogbl

조회 완성된 소스코드
PROJECT 20 _ 실시간 검색어 모아보기
크롬에서 실시간 검색 사이트 확인하기
파이썬 코드로 제어할 수 있는 크롬 창 띄우는 코드 만들기
실시간 검색어 원소를 찾아 저장하는 코드 만들기
검색 포털사이트에서 실시간 검색을 확인하는 코드 만들기
검색 포털의 실시간 검색어 출력하는 코드 만들기

PROJECT 21 _ 핫딜 알리미
사이트의 특정 게시판에서 원하는 키워드가 검색되면 알림 보내는 코드 만들기

PROJECT 22 _ 이미지에서 글자 추출하기

테서렉트 다운로드 받은 후 C:\Program Files (x86) 에 두고 실행해야 함.
OCR 프로그램 설치 [참조블로그]
이미지에서 한글 찾아 추출하는 코드 만들기
사용 가능한 언어 확인하는 코드 만들기
변환된 언어를 파일로 저장하는 코드 만들기

PROJECT 23 _ 사진에 얼굴만 찾아 모자이크처리(OpenCV)
OpenCV로 얼굴 사진 찾는 코드 만들기
사진 속 얼굴을 모자이크 처리하는 코드 만들기

PROJECT 24 _ 사진을 그림으로 변환하기(OpenCV)
여행사진을 그림으로 변환하는 코드 만들기

PROJECT 25 _ 가상화폐 데이터 획득하여 데이터베이스 저장
DB Browser for SQLite 설치
가상화폐 시세 조회 코드 만들기
비트코인의 분봉 데이터를 데이터베이스에 저장하는 코드 만들기
데이터베이스의 데이터 읽고 출력하는 코드 만들기
비트코인 데이터를 읽어 데이터베이스에 저장하는 코드 만들기

PROJECT 26 _ 로또번호 시각화하기
로또 당첨번호 자료 엑셀 파일 다운받기
판다스로 값 읽고 그래프로 그리는 코드 만들기
당첨번호의 빈도수를 출력하는 코드 만들기

PROJECT 27 _ 전국의 대학교 위치 시각화하기
전국의 대학교 주소록 엑셀 파일 자료 받기
판다스에서 학교명과 주소 찾는 코드 만들기
오픈 API를 이용해 주소를 좌표로 변환하는 코드 만들기
특정 학교의 위치에 마커를 표시하는 코드 만들기
live server를 vs code에 설치
자료의 모든 대학교 주소에 마커 표시하는 코드 만들기

Chapter 06 웹 페이지 제작 및 GUI 프로그램 만들기

PROJECT 28 _ 플라스크 웹서버 만들기
flask로 간단한 웹서버 만들고 구동하는 코드 만들기
flask에 페이지를 추가하는 코드 만들기
flask을 이용하여 html 파일을 서버로 만들어 보여주는 코드 만들기

PROJECT 29 _ 쉬운 웹앱만들기
streamlit을 이용하여 차트 그리는 코드 만들기
달력에서 날짜를 선택하는 코드 만들기
선택한 날짜의 비트코인 시세를 그래프로 출력해주는 웹앱 코드 만들기

PROJECT 30 _ 가상화폐 금액표시 GUI 프로그램 만들기
tkinter를 사용하여 GUI 코드 만들기
글자 크기를 키우는 코드 만들기
1초마다 반복해서 동작하는 코드 만들기
1초마다 반복해서 동작하는 GUI 코드 만들기
exe 실행파일 만들고 응용프로그램으로 실행

PROJECT 31 _ 로또번호 생성기 GUI 프로그램 만들기
랜덤 번호 중 5개의 번호를 출력하는 코드 만들기
tkinter를 이용하여 버튼을 누를 때마다 6개의 랜덤 번호를 출력하는 코드 만들기
번호를 누르면 번호를 자동 생성하여 GUI에 표시하는 코드 만들기

PROJECT 32 _ 메모장 만들기
tkinter GUI를 이용하여 메모장 뻐대와 메뉴 구성하는 코드 만들기
PROJECT 33 _ 계산기 만들기(PYQT)
Qt Designer로 계산기 Widget 만들기
Qt Designer로 계산기 Widget 만들기
버튼 입력받아 출력하는 코드 만들기
수식을 계산 코드 추가하여 계산기 코드 완성

PROJECT 34 _ 그림판 만들기(PYQT)
Qt Designer로 그림판 Widget 만들기
버튼과 마우스 동작에 반응하는 그림판 코드 만들기

Chapter 07 게임 및 인공지능 프로그램 만들기

PROJECT 35 _ 점프 게임 만들기
게임화면 구성하고 스페이스바를 입력받는 코드 만들기
게임 플레이어 만드는 코드 만들기
적을 만들고 적과 닿으면 종료하는 게임 코드 만들기

PROJECT 36 _ 똥 피하기 게임 만들기
게임 화면 만드는 코드 만들기
플레이어 클래스 생성하고 구현하는 코드 만들기
적을 만들고 적과 닿으면 게임을 종료하는 코드 만들기
적을 만들고 적과 닿으면 게임을 종료하는 코드 만들기
사진을 게임에 적용시키는 코드 만들기

PROJECT 37 _ 인공지능 사과와 오렌지 구분하기
가상환경 구성
터미널 설정 구성
터미널 생성과 라이브러리 설치
라이브러리 설치
학습용 사진 다운로드 받기
학습데이터 생성하기
사진을 구분하고 분류하는 코드 만들기

PROJECT 38 _ 음성인식 비서 만들기
음성 녹음하는 코드 만들기
음성을 텍스트로 변환하는 코드 만들기
특정 키워드에 답변하는 음성인식 비서 코드 만들기

PROJECT 39 _ 삼성전자의 주식 예측하기
삼성전자 주식의 10년간 주식 데이터를 불러오는 코드 만들기
주식 예측 모델 구성 코드 만들기
특정 주식의 실제값과 예측값을 그리는 코드 만들기

PROJECT 40 _ 사진에서 사람을 인식하여 분류하기
이미지를 찾아 리스트의 형태로 변환하는 코드 만들기
파이토치를 이용해서 사진 폴더에서 특정 사진을 찾는 코드 만들기
특정 사진을 찾아 특정 폴더로 이동하는 코드 만들기

 

 

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
from webdriver_manager.chrome import ChromeDriverManager
from selenium import webdriver
# pip install selenium
from selenium.webdriver.common.keys import Keys
import time
import urllib.request
class GoogleImage:
    
    def __init__(self):
        self.search_word = ''
    
    def set_search_word(self, search_word):
        self.search = search_word
        
    def execute_search(self):
        pass
        
    
    
if __name__ == '__main__':

    g = GoogleImage()
    while 1:
        menu = input(f'''0. EXIT\n
              '1. 구글 이미지에 검색어 입력\n
              '2. 구글 이미지 조회하기\n''')
        if menu == '0':
            print('프로그램 종료')
            break
        elif menu == '1':
            s = input('검색어 입력: ')
     
        elif menu == '2':
            g.execute_search()
            
        else:
            print('다시 입력')
            continue

 

 

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.options import Options
import time
if __name__ == '__main__':

    chrome_options = Options()
    chrome_options.add_experimental_option("detach", True)

    # 불필요한 에러 메시지 없애기
    chrome_options.add_experimental_option("excludeSwitches", ["enable-logging"])

    # 브라우저 생성
    browser = webdriver.Chrome(options=chrome_options)
    browser.get('https://www.naver.com')
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함