[알고리즘] 미로 찾기 - BFS, DFS
·
python/자료구조 & 알고리즘
미로찾기를 해봅시당 https://www.youtube.com/watch?v=nyjFmDUDgO4 코딩 빌런님의 영상을 보고 정리한 글입니다. 미로를 찾기위해선 두가지를 수행해야합니다. - 미로가 처음과 끝이 이어진 길인지(목적지 까지 갈 수 있는가) - 미로를 어떻게 최단경로로 갈 것인가 자 그럼 먼저 첫번째 부터 봅시다 1. 미로가 목적지 까지 갈 수 있는가 먼저 [0,0] 을 올라 타고 array에 [0,0] 을 넣어준다. 그 뒤 해당 좌표에는 -1 값으로 변경하고 array에서 없애줌 (갔던 길 임을 표시하는 것) 그리고 좌표를 돌면서 갈 수 있는 길인지 확인한다. 이 알고리즘대로 하면 목적지에 갈 수 있는지 알고리즘을 수행하게 됨 코드로 나타낸 것을 확인해보자 pop은 값을 반환하고 그 값을 빼..
[Python] Geopandas 지도 시각화하기
·
python/라이브러리
# conda install geopandas -> anacona installer, 아나콘다에서 설치하는 명령어 conda에서 설치하는 방법은 https://sillon-coding.tistory.com/325 [Python] Geopandas 라이브러리 설치하기 Geopandas는 위도 경도 파일을 처리하기 쉽게 만들어준 라이브러리입니다. 다른 라이브러리 설치를 할 때 처럼 !pip가 아닌 아나콘다 프롬프트를 이용해서 설치해야합니다. conda install geopandas 엥 근 sillon-coding.tistory.com import geopandas as gpd EMD = gpd.read_file('./EMD_20220324/EMD.shp',encoding = 'ANSI') EMD.head(..
[Python] Geopandas 라이브러리 설치하기
·
python/라이브러리
Geopandas는 위도 경도 파일을 처리하기 쉽게 만들어준 라이브러리입니다. 다른 라이브러리 설치를 할 때 처럼 !pip가 아닌 아나콘다 프롬프트를 이용해서 설치해야합니다. conda install geopandas 엥 근데 오류가 생겼다 최신 버전이 아니라서 발생한 것임 프롬프트를 꺼주고 다시 실행하여 업데이트 해준다 conda update --all 뭐 모듈이 전체적으로 업데이트? 되고나면 이 창으로 넘어간다. 바로 넘어가는 건 아니니 조금 기다리시길..^^ 다시 지오판다스를 깔아준다 그럼 잘 깔린다 ㅎㅎ
[Python] Haversine - 두 지점의 위도 경도로 직선 거리 구하기
·
python/라이브러리
▣ 하버사인(haversine) 공식이란? 하버사인(haversine) 공식은 평면이 아닌 둥근 지구표면에 있는 두 지점 사이의 직선 거리를 구하는 방법입니다. 출처: 위키피디아 from haversine import haversine, Unit Busan = ( 35.198362, 129.053922) Ulsan = ( 35.519301, 129.239078) haversine(Ulsan,Busan) # 직선 거리를 구하는 함수
[Python] 인코딩된 JSON파일 디코딩하기
·
python/기초
import json with open('KorQuAD_v1.0_train.json', 'r') as f: train_data = json.load(f) train_data = [item for topic in train_data['data'] for item in topic['paragraphs'] ]
[Python] Re 모듈 re.split() 으로 문자열 패턴으로 분리하기
·
python/자료구조 & 알고리즘
import re s = 'apple orange:banana,tomato' l = re.split(r'[ ,:]', s) print(l) ''' ['apple', 'orange', 'banana', 'tomato'] '''
[Python] 네이버 뉴스 기사 태그 출력하기
·
python/자동화
https://sillon-coding.tistory.com/302 [Python] 네이버 뉴스 기사 웹 크롤링 - 매크로 해당 사이트를 참고하여 게시글을 작성하였습니다. 1단계. 원하는 웹 페이지의 html문서를 싹 긁어온다. 2단계. 긁어온 html 문서를 파싱(Parsing)한다. 3단계. 파싱한 html 문서에서 원하는 것을 골 sillon-coding.tistory.com 스포를 조금 하자면... 해결하지 못했습니다! 그 이유는 HTML 태그 일부 출력이 되지 않기 때문입니다. 그 과정을 포스팅 해보겠습니다..^^ from bs4 import BeautifulSoup import urllib.request as req # 특정 웹사이트로 접속하기 위해 url = "https://news.nave..
[Python] 웹 자동화 기초 - 경고창 이동, 쿠키, 자바스크립트 코드 실행
·
python/자동화
경고창 (alert) 경고창이 떴을 때 수락 또는 거절을 눌러주거나 경고창의 텍스트를 가져올 수 있다. 경고창 이동 #경고창으로 이동 driver.switch_to.alert 경고창 수락 / 거절 from selenium.webdriver.common.alert import Alert Alert(driver).accept() #경고창 수락 누름 Alert(driver).dismiss() #경고창 거절 누름 print(Alert(driver).text # 경고창 텍스트 얻음 쿠키 값 얻기 #쿠키값 얻기 driver.get_cookies() #쿠키 추가 driver.add_cookie() #쿠키 전부 삭제 driver.delete_all_cookies() #특정 쿠기 삭제 driver.delete_cooki..
[Python] 웹 자동화 기초 - 엘레먼트(클릭, 텍스트, 프레임 이동)
·
python/자동화
엘레먼트에 관하여 우리는 웹브라우저에서 로그인도 하고 버튼도 클릭하고 검색창에 텍스트를 입력하기도 한다. 이렇게 브라우저 상에서 보이는 버튼, 검색창, 사진, 테이블, 동영상 등등 이 모든 것들을 엘레먼트(element, 요소) 라고 부른다. 셀레니움은 우리가 브라우저에서 특정 요소를 클릭하고 텍스트를 입력하고 사진등을 받아오고 텍스트를 가져오는 등등 어떠한 위치에 있는 무언가를 부를 때 엘레먼트라는 개념으로 접근한다. 다양한 방법으로 엘레먼트로 접근할 수 있는데 대부분 xpath 를 사용한다. 엘레먼트 접근하는 방법 driver.find_element_by_xpath('/html/body/div[2]/div[2]/div[1]/div/div[3]/form/fieldset/button/span[2]') #..
[Python] 웹 자동화 기초 - 브라우저 열기, 닫기, 탭 이동
·
python/자동화
셀레니움 소개 셀레니움은 파이어폭스, 인터넷 익스플로어, 크롬등과 같은 브라우저를 컨트롤 할 수 있게 해줍니다. 현재 파이썬 3.5 이상부터 지원되며 3.6 이상 버전 부터 pip 로 표준 라이브러리로 사용할 수 있습니다. 설치 – install pip install selenium 드라이버 – driver Chrome https://sites.google.com/a/chromium.org/chromedriver/downloads Edge https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/ Firefox https://github.com/mozilla/geckodriver/releases Safari https://webkit.or..
[Python] 네이버 뉴스 기사 웹 크롤링 - 매크로
·
python/자동화
해당 사이트를 참고하여 게시글을 작성하였습니다. 1단계. 원하는 웹 페이지의 html문서를 싹 긁어온다. 2단계. 긁어온 html 문서를 파싱(Parsing)한다. 3단계. 파싱한 html 문서에서 원하는 것을 골라서 사용한다. https://sillon-coding.tistory.com/301 [Python] 뉴스의 제목, 날짜, 본문 데이터 가져오기 - 1회성 (매크로아님) target_url 변수에 해당 링크를 입력하면 됩니다. from urllib.request import urlopen from bs4 import BeautifulSoup news_info = {"title": "", "content": "", "data": "" } def news_content_crawl(target_ur....
[Python] 뉴스의 제목, 날짜, 본문 데이터 가져오기 - 1회성 (매크로아님)
·
python/자동화
target_url 변수에 해당 링크를 입력하면 됩니다. from urllib.request import urlopen from bs4 import BeautifulSoup news_info = {"title": "", "content": "", "data": "" } def news_content_crawl(target_url): html = urlopen(target_url) bsObject = BeautifulSoup(html, "html.parser") title = bsObject.find("div", {"class":"media_end_head_title"}).get_text() content = bsObject.find("div", {"class":"go_trans _article_conte..