본문 바로가기

코딩 연습276

네이버 부동산 아파트 세대별 면적 추출하는 방법(selenium 활용) 네이버 부동산 아파트 정보를 통해 단지 내 동별 세대별 호수를 찾는 방법이 있는지 알아봤는데, 공공데이터 포털과 달리 좋은 정보가 많았고, 인테리어나 창호 샷시 등의 홍보용 DM을 보낼 때 상당히 유용할 것 같다. 네이버 부동산 아파트 세대 호수와 면적 정보 추출해보기 1. 네이버 부동산 URL 분석하기 네이버 부동산 URL(https://land.naver.com)에서 검색 부분에 아파트명(예로, 현대)을 입력하면, i) 찾는 아파트 리스트 웹 페이지로 이동하거나 ii) 해당 아파트 정보 웹 페이지로 바로 이동을 하게 된다. i)의 경우, 웹 페이지 URL은 https://new.land.naver.com/search?ms=37.48224,126.757,17&a=APT:ABYG:JGC&e=RETAIL .. 2023. 2. 9.
chatGPT에서 유튜브 영상 다운로드 파이썬 코드 물어보니... 요즘 세간의 화두이고 난리도 아닌 chatGPT를 사용해서 유튜브 영상을 다운로드하는 파이썬 코드를 물어봤다. 그 결과는 어땠을까! chatGPT로 "유튜브 영상 다운로드 파이썬 코드" 질문 결과 ☞ 질문 : 유투브 동영상을 다운로드할 수 있는 파이썬 코드를 자세히 알려주세요. ☞ 결과 : 1차 결과는 다음과 같았다. Python에서 PyTube 라이브러리를 사용하여 YouTube 비디오를 다운로드하는 예제 코드입니다. 위 코드는 먼저 pip를 사용하여 PyTube 라이브러리를 설치 다음 pytube 모듈에서 YouTube 클래스 가져옵니다. 비디오 URL이 지정되고 해당 URL을 사용하여 YouTube 객체가 생성됩니다. 다음으로 yt.streams.first()를 사용하여 사용 가능한 첫 번째 비디오.. 2023. 2. 8.
용량이 큰 엑셀 자료를 텍스트로 변환하는 방법 여러 시트에 걸쳐 수백만 데이터가 있는 엑셀 자료를 특정 구분자를 주어 텍스트로 변환하는 파이썬 소스 코드임 대량 데이터 엑셀 자료를 구분자를 주고 텍스트로 변환하는 방법 여러 엑셀 시트에 아래와 같은 동일한 형식의 데이터가 수백만개 있고, 이 엑셀 데이터를 구분자를 주어서 하나의 텍스트 파일로 만들어야 할 경우가 있다. import openpyxl txt_filename = '부동산 주소데이터.txt' wb = openpyxl.load_workbook('./test/target_excel.xlsx', data_only=True) maxRow = 0 for shtname in wb.sheetnames: ws = wb[shtname] print(f'워크시트: {ws}, 총 행수: {ws.max_row}\n.. 2023. 2. 6.
파이썬에서 이메일 보내기 파이썬에서 이메일 보내기 방법으로 네이버 이메일 SMTP를 사용하는 소스 코드를 찾아서 테스트로 보내봤는데 이상없이 잘 들어왔다. TKinter 프로그램에 이 코드를 삽입해도 가능할지 테스트 중임. 파이썬에서 이메일 보내기 - 네이버 이메일 SMTP 사용 ▷ 아래 출처 영상에서 발췌한 이메일 보내기 코드 import smtplib from email.mime.text import MIMEText def send_mail_by_naver(mail_msg): with smtplib.SMTP('smtp.naver.com', 587) as server: # smtp 서버, port server.starttls() server.login('xxxxx', 'xxxxxxxxx') # id, pw response = .. 2023. 1. 2.
네이버 영화 평점 리뷰 추출해보기 (with 파이썬) 네이버 영화 평점과 리뷰 페이지에 대한 파이썬 크롤링 소스 코드. 추출하다보니 " " 태그 부분에 대한 크롤링 방법을 터득한 것이 있는데... 네이버 영화 평점 리뷰 크롤링하기 네이버 영화 평점 리뷰 웹사이트 : https://movie.naver.com/movie/point/af/list.naver 여기서 하단 페이징 처리 부분을 클릭하면 페이지 파라미터가 붙은 URL을 브라우저 주소창에서 확인할 수 있다. https://movie.naver.com/movie/point/af/list.naver?&page=1 파이썬 크롤링 소스 코드 ## 네이버 영화 평점 추출하기 import requests from bs4 import BeautifulSoup import pandas as pd header = {'.. 2022. 12. 30.
이미지 병합 - 파이썬 Tkinter 활용 이미지 병합 프로그램이 필요하여 유튜브 검색 중 나도코딩 유튜버님의 영상을 보고 따라하면서 만든 소스 코드이며, pyinstaller로 실행 프로그램을 생성해보았다. 이미지 병합해주는 프로그램(파이썬 tkinter & pyinstaller 라이브러리 활용) ☞ 프로그램 다운로드 (네이버 MyBox 다운로드 비번: 1234) ▷ 파이썬 Tkinter 소스코드는 다음과 같다. ## 이미지를 원본 그대로 붙여서 저장하기 import os import time import tkinter.ttk as ttk # 콤보박스 import tkinter.messagebox as msgbox from tkinter import * from tkinter import filedialog from PIL import Imag.. 2022. 12. 28.
파이썬 크롬드라이버 자동설치 (chromedriver_autoinstaller) 파이썬 크롬드라이버 자동설치를 위한 코드. selenium 사용 시 크롬 웹브라우저에 맞는 크롬드라이버를 자동으로 다운로드하여 사용할 때 유용하다. ◆ 파이썬 크롬드라이버 자동 설치해보기 (윈도우 환경 기준) 컴퓨터에 설치된 크롬브라우저 버전 확인은 브라우저 주소에 "chrome://settings/help"라고 입력해도 되고, 아래처럼 도움말에서 Chrome 정보를 클리해서 확인해도 된다. 그리고, 크롬 드라이버 다운로드 웹 사이트는 https://chromedriver.chromium.org/downloads ChromeDriver - WebDriver for Chrome - Downloads Current Releases If you are using Chrome version 109, please.. 2022. 12. 20.
문자열에 \xa0 있을 경우 제거하는 방법 엑셀 파일의 셀 값(도로명주소)을 읽어서 파이썬 replace() 함수로 공백 제거 후 다른 값과 비교하려고 했으나 공백 제거가 안 되었는데, 원인을 찾아보니 \xa0 문자가 있었네요. 이 문자를 제거하는 방법을 찾아서 해결하고 내용을 올려봅니다. 문자열에 \xa0가 있는 엑셀 파일의 도로명주소 엑셀 파일의 1열에 도로명주소 수천 개를 입력하고, 파이썬 코드에서 파일을 읽고 도로명주소(juso.go.kr)에 검색어로 입력한 후 검색한 결과를 다른 엑셀 파일에 저장하는 코드를 짰는데, 엑셀의 주소 중 문제가 되는 건 '강원도 강릉시 강변로 270 '이었다. 또 다른 주소들도 문제가 있는 것들이 많았는데, 이것을 파이썬의 replace() 함수로 공백을 제거해보았지만, 다음과 같은 결과가 나왔다. juso .. 2022. 12. 2.
공동주택 단지코드(아파트 코드) 추출 - 파이썬 API 활용 공동주택 단지코드(아파트 코드)가 필요하여 공공데이터 포털(www.data.go.kr)에서 데이터를 추출하는 API 개발 언어 중 편리하다고 할 수 있는 파이썬(Python)을 통해 아파트 단지 목록과 단지 코드(공동주택 단지 코드)를 가져오는 코드를 만들어봤다. 공동주택 단지코드(아파트 코드) 추출 공공데이터포털에서 아파트 단지 정보 API 서비스(공동주택 기본 정보제공 서비스)의 항목들(아파트 단지명, 법정동 코드, 난방 방식, 동수, 아파트 세대수 데이터, 관리사무소 연락처(팩스 포함), 도로명주소, 법정동 주소, 호수, 관리방식, 복도 유형, 사용승인일, 전용면적별 세대 현황 등)을 추출하는 API를 확인해보니 해당 서비스를 조회할 때 기본적으로 입력되어야 하는 되는 것이 '아파트 코드'였고, 해.. 2022. 11. 30.
파이썬에서 인코딩과 디코딩 파이썬 코딩 시 접하게 되는 인코딩과 디코딩을 알아보기 위해 파이썬 문자열 데이터를 encode() 함수로 인코딩하고, 다시 decode() 함수로 디코딩 해본다. 인코딩(Encoding) - 암호화 인코딩 종류 : ASCII, URL인코딩, HTML인코딩, Base64인코딩, 유니코드인코딩 ※ 유니코드 인코딩 참고 사이트 : https://home.unicode.org encode() 함수를 이용하여 가장 많이 사용되는 유니코드 인코딩 중 utf-8 인코딩을 하면, s = 'Life is too short' str_enc = s.encode('utf-8') print(str_enc, type(str_enc)) # b'Life is too short' kor = '한국' kor_enc = kor.enco.. 2022. 11. 18.