본문 바로가기
[py] 파이썬 반복문 예제 (ft. for문, while문) 예제는 스타트 코딩, 파이썬 크롤링 강의를 들으면서 공부한 내용입니다. for문 list 예제 num_lists = [1,2,3,4] for i in num_lists: print(i*2) //2 //4 //6 //8 range 예제 gugudan = int(input('몇단을 출력할까요?? >>>')) for i in range(0, 10, 1): print(f'{gugudan}x{i}={gugudan*i}') 결과 while문 i = 1 //초기식 while i chosenNum: print('정답은 더 작습니다.') elif num < chosenNum: print('정답은 더 큽니다.') count +=1 결과
[py] 네이버 로그인 자동화 (ft. 셀레니움) 셀레니움을 이용한 네이버 로그인 자동화 구현 입니다. 예제는 스타트 코딩, 이것이 진짜 크롤링이다 기본편 강의를 들으면서 공부한 내용입니다. 구현 화면 자동입력 방지 문자 알림 해결 id.send_keys('네이버 아이디'), pw.send_keys('네이버 비밀번호') 코드 사용하면 너무 빨리 입력이 되면서 네이버에서 감지하여 아래와 같은 오류 알림 화면으로 이동됩니다. 이를 해결하기 위해, 사람이 직접 입력한 것과 같은 코드로 변경해줘야 합니다. pyperclip.copy('입력어') pyautogui.hotkey('ctrl', 'v') //입력어 붙여넣기로 #id.send_keys('입력어')와 같음 time.sleep(2) //2초 딜레이 네이버 로그인 자동화 #셀레니움 기본설정 from sele..
[py] 셀레니움 기본 설정 셀레니움 작업시 필요한 기본 설정 코드입니다. 셀레니움 설치된 버전 확인 pip list //결과창에서 selenium 찾기 셀레니움 4 업데이트 pip install --upgrade pip pip install --upgrade selenium 크롬 드라이버 자동 업데이트 코드 pip install webdriver_manager 브라우저 꺼짐 방지 코드 chrome_options = Options() chrome_options.add_experimental_option("detach", True) 불필요한 에러 메시지 제거 chrome_options.add_experimental_option("excludeSwitches", ["enable-logging"]) 셀레니엄 기본 설정 전체 코드 #셀레니..
[py] 네이버 쇼핑 목록 크롤링 해오기 (ft. 셀레니움, csv로 옮기기) 셀레니움을 이용한 동적사이트 데이터 csv로 가져오기 예제는 스타트 코딩, 이것이 진짜 크롤링이다 기본편 강의를 들으면서 공부한 내용입니다. 구현 화면 requests의 한계 로그인이 필요한 경우, 세션처리하는 것으로 크롤링이 어려움 동적으로 html을 만드는 경우 크롤링이 어려움 동적으로 html을 만드는 경우 v 스크롤 하거나 클릭하면 데이터가 생성됨 v url 주소가 그대로 인데 데이터가 변경되었을 경우임 v 표나 테이블 형태의 데이터 셀레니움 웹 어플리케이션 테스트를 위한 도구 브라우저를 실제로 띄워서 사람처럼 동작하도록 만들 수 있음 셀레니움 설치 크롬 드라이버 설치 셀레니움 설치 pip install selenium 네이버 쇼핑 검색어 리스트 CSV로 가져오기 from selenium impo..
[py] ModuleNotFoundError: No module named 'selenium' selenium 설치 후 에러 대응 No module named 'selenium' 오류 셀레니움 라이브러리를 사용하기 위해서 먼저 필요한 두가지 조건이 선행되어야 합니다. 구글 드라이버 설치 pip install selenium 명령어로 셀레니움 라이브러리 설치 위의 두가지를 실행하고도 selenium 모듈을 찾을 수 없다는 에러와 입력한 코드 from selenium import webdriver의 selenium과 webdriver에 노란색 물결 밑줄이 쳐져있었습니다. 해결방법 vs code 하단의 python 버전 부분을 선택하여, 버전을 변경해 주었습니다. 기존의 추천, Python 3.10.7 64-bit 버전에서 글로벌 Python 3.8.5 64-bit로 변경을 하였더니 에러가 사라지면서 ..
[react] 여러개 토글 버튼 구현 react에서 한 페이지 여러개의 토글 버튼 구현하기 입니다. 구현화면 구현 영상 부모요소 import React from 'react'; import ToggleBar from "../../components/myInfo/ToggleBar"; const Alarm = () => { const datas = [ { id: 1, title: '알림1', name: 'pushOnRecommendMeal' }, { id: 2, title: '알림2', name: 'pushOnEatRecord' }, { id: 3, title: '알림3', name: 'pushOnSymptomRecord' }, { id: 4, title: '알림4', name: 'pushOnWeeklyReport' }, ] return ( {..
[js] 자바스크립트 null 이지만 0은 아닐 때 자바스크립트에서 변수가 null 이지만 0은 아닐 때를 찾는 방법입니다. 자바스크립트 null 이지만 0은 아닐 때 null이지만 0을 걸러낼 경우 if (!foo && foo !== 0)
[react] resize 적용하는 법 react에서 자바스크립트의 이벤트를 이용해 미디어쿼리 적용하는 방법입니다. resize 적용 코드 const Container = () => { const [narrowWidth, setNarrowWidth] = useState(false) const widthControlFn = () => { let width = window.innerWidth if (width < 367) setNarrowWidth(true)//너비 367보다 작을 때 상태 변화 else setNarrowWidth(false) } useEffect(() => { // resize window.addEventListener("resize", widthControlFn) return () => window.removeEventList..
[react] 하위 컴포넌트별로 특정 요소 on/off 설정 하위 컴포넌트별로 버튼과 같은 특정 요소 on/off 설정입니다. 화면구현 구현내용 상위와 하위 컴포넌트(oneday card)로 구성된다. 더보기 아이콘 클릭시 해당 카드의 팝업 버튼이 오픈된다 토글 기능으로 한번 클릭시 버튼이 없어진다 클릭한 날짜의 버튼만 나오고, 다른 날짜의 버튼들은 사라진다. 자식 컴포넌트에서만 버튼 on/off 기능을 구현하였더니, 4번 기능이 작동하지 않았습니다. 결국 상위와의 코드 연결을 통해 4번을 구현하였습니다. 구현코드 부모요소 const [chosenDay, setChosenDay] = useState(null) //누른 카드의 날짜 const onMatchCardDay = (day) => setChosenDay(day) //하위에 전달할 함수 return ... {..
[react] background-image 에 data 넣기 background-image 에 data 넣을때 코드 입니다. background-image 에 data 넣기 style={{ background: "url(" + `${url}` + ") no-repeat center" }}
[css] 넘치는 텍스트 줄바꿈 처리 css를 이용한 넘치는 텍스트 줄바꿈 처리입니다. 넘치는 텍스트 줄바꿈 처리 div {word-break:break-all;} before after
[py] 크롤링한 데이터 엑셀 저장, 수정 파이썬의 openpyxl 라이브러리를 이용하여 데이터를 엑셀에 저장/수정을 해보겠습니다. openpyxl 라이브러리 파이썬에서 엑셀을 쉽게 다룰 수 있도록 도와주는 라이브러리 openpyxl 설치 방법 pip install openpyxl 파이썬으로 데이터를 엑셀에 저장하기 import openpyxl # 엑셀만들기 wb = openpyxl.Workbook() #엑셀 워크시트 만들기 ws = wb.create_sheet('example') #데이터 추가하기 ws['A1'] = '번호' ws['B1'] = '이름' ws['A2'] = 1 ws['B2'] = '까를로스' #엑셀파일 저장하기 wb.save(r'C:\project\python\crawl4.py참가자_data.xlsx') 파이썬으로 엑셀의 데이터..
[py] 네이버 뉴스 타이틀, url 크롤링 사이트에서 내가원하는 제목과 링크를 크롤링합니다. 라이브러리 설치 확인 pip list beautifulsoup4 , requests 패키지 설치 BeautifulSoup: 웹 페이지의 정보를 쉽게 스크랩할 수 있는 기능을 제공하는 라이브러리 Requests: HTTP 요청을 보낼 수 있도록 기능을 제공하는 라이브러리 pip install beautifulsoup4 pip install requests 네이버 뉴스 타이틀, url 크롤링 코드 네이버 뉴스에서 원하는 키워드에 관련된 기사 제목을 추출할때 사용합니다. import requests from bs4 import BeautifulSoup import pyautogui keyword = pyautogui.prompt('검색어를 입력하세요.') la..
[js] 서버 없이 form에서 데이터 전송 기능 구현 (ft. Google Apps Mail) 웹사이트에서 서버 없이 프론트에서 contact 기능을 구현 합니다. 웹사이트에서 본인의 이름, 연락처, 메일, 메시지를 보내는 컨택트 기능을 사용할 때, 보통 백엔드를 이용해 서버에 데이터를 저장합니다. 하지만 서버가 없는 간단한 랜딩페이지로 구성된 사이트의 경우. 서버 없이 프론트에서 바로 데이터를 전송하고, 저장하는 방법이 있습니다. 참고 사이트: https://github.com/dwyl/learn-to-send-email-via-google-script-html-no-server#how GitHub - dwyl/learn-to-send-email-via-google-script-html-no-server: An Example of using an HTML form (e.g: "Contact Us..
[react] env 환경변수 세팅 (ft. process.env) react에서 env 변수 설정과 사용법 입니다. env 프로젝트 개발 시 API_KEY 또는 DB 정보, port url 등 git 오픈소스에 올리면 안되고, 개발자만 알아야 하는 고유의 값들이 있습니다. 이 값들 파일 외부에 저장시켜 불러와서 오픈 소스에 오픈되지 않고, 안전하게 사용할 수 있습니다. env 환경변수 세팅 env 파일은 프로젝트의 최상위 루트에 만듭니다. 변수명은 'REACT_APP_' 으로 시작되야 합니다. creat-react-app은 보안이 필요한 환경 변수의 유출을 막기 위해 reactapp으로 시작되는 변수는 무시합니다. .env 파일 설정 REACT_APP_KAKAO_KEY=xxx //REACT_APP_변수 이름 .env 변수 불러오기 process.env.REACT_APP..