본문 바로가기

분류 전체보기

(290)
[오픈 Api 이용하기] 금융위원회_기업기본정보 python, 공공 데이터 https://data.go.kr/tcs/dss/selectApiDataDetailView.do?publicDataPk=15043184 금융위원회_기업기본정보 데이터를 이용하고자 했다. 쉽게 될 줄 알았는데 뭔가 막혀서 삽질을 많이했다. 기록은 남겨둘까 한다. from urllib.request import urlopen from urllib.parse import urlencode, unquote, quote_plus import urllib import json from pprint import pprint url = 'http://apis.data.go.kr/1160100/service/GetCorpBasicInfoService/getCorpOutline' decode_key = un..
[pandas] str으로 나타내진 datetime 을 mean 연산 가능한 형식으로 변환하기 from dateutil.parser import parse tuple(map(lambda x: int(x), tuple("2015.05.23".split("-")))) 위 코드가 정상 작동한다. 하고 싶은건 “2015.05.23” 이런 str 데이터를 df[“date”].mean()했을 때 딱 평균 시간이 나오게 하는 것이다. new_df["dates"] = new_df["dates"].map( lambda date: pd.datetime(*tuple(map(lambda x: int(x), date.split(".")))) )위 코드를 짜며 배운점 *args 문법을 써준다. tuple이 들어가서 자동으로 pd.datetime()에 맞는 인자로 들어간다. pd.datetime은 pd.datetime(20..
[크롤링] beautiful soup에 관하여, 내가 bs를 쓰지 않는 이유 parsing을 ‘html.parser’, ‘lxml’, ‘html5lib’ 중 어떤 걸로 하느냐에 따라 좀 달라진다고 한다. 그렇지만 특정 사이트들에 원하는 항목은 아예 html 내에 없을 수도 있었다. 아무리 봐도 request를 통해 얻은 response의 text엔 내가 원하는 정보가 없었다. 얼마나 삽질을 했을까… 문법적 오류가 있는 줄 알고 계속 beautiful soup 문법을 살펴보며 이래 저래 방법을 찾으려 햇다. 그런데 다시보니 원하는 테그가 아예 크롤링 된 결과에 없어서 안되는 것이었다. selenium으로 갈아타자… 좀 느리긴 하지만. 그래도… scrapy를 공부하면 훨훨 날듯이 쓸 수 있을 것 같은데. 정리하면 beautiful soup는 안 통하는 사이트가 많은 것 같다. sel..
[크롤링 삽질] selenium 스크롤 다운 안될때 꿀팁 네이버 크롤링이 카카오, 구글 크롤링보다 훨씬 어렵다... 내가 크롤링한 사이트는 네이버 플레이스이다. 스크롤 다운을 위해 여러 시도를 해보다가 알게 됐다. 핵심적인 사실 1. body를 클릭해야 스크롤 다운이 가능하다 2. body를 클릭했을때, 다른 링크로 넘어갈 경우도 있고 안 넘어갈 경우도 있다. 이에 대한 예외사항을 처리해 주어야 한다. 3. 굳이 스크롤 다운을 하지 않아도 바로 볼 수 있는 메뉴가 있다면 그걸 이용한다 4. x_path가 만능이 아니다. 오히려 driver.find_element_by_class_name이 더 유용할 때가 있다. class_name이 고정돼 있을 경우 좀 더 안정적으로 크롤링 할 수 있다는 경험이 생겼다. 2번에 대한 예외사항을 처리한 스크롤 다운 기능을 구현했..
[크롤링 관련] selenium stale 에러 selenium stale 에러 stale element reference: element is not attached to the page document 위와 같은 에러가 발생했다. 찾아봐도 잘 몰랐다. 유심히 살펴 해석해보면 그 요소가 html? 문서에 없는데 그걸 긁으려 한다고 에러를 보내는 것이다. 즉, selenium으로 웹페이지가 너무 빨리 넘아가서 그렇다! 이게 driver.implicit_wait(1) 이런 식으로 대기시간을 주면 되는 줄 알았다. 그래서 다른 문제인지 알고 한참 찾았는데… 저 함수가 안 통했던 것이다!!! 왜 안되는걸까...? 답은 time.sleep을 주면 된다. 그러면 stale error가 더 이상 안난다. stale error 때문에 크롤링 결과가 되게 엉성했다…..
[mac os & pycharm] 단축키 정리 파라미터 보기 (괄호 열고 입력) command + P 코드 구현부 즉시 보기 (괄호 열기전 함수 이름위에 입력) option + space 페이지 업 다운 fn + 위/아래 라인 첫,끝 이동 fn + 좌/우 단어별 이동 option + 좌/우 오류라인 자동 포커스 f2 코드 자동 정렬 command + option + L 디버깅 모드 control + shift + D 이전에 실행한 경우 : control + D 다음 브레이크 포인트로 이동 : command + option + R
[딥러닝 논문 리뷰] A Spatio-Temporal Spot-Forecasting Framework for Urban Traffic Prediction - 1 A Spatio-Temporal Spot-Forecasting Framework for Urban Traffic Prediction https://arxiv.org/pdf/2003.13977v2.pdf https://github.com/rdemedrano/crann_traffic 시공간 예측 모델의 특징 머신러닝 기반 데이터 표본들이 모두 독립적으로 발생했다는 가정이 있는데, 사실 데이터 간에 상관관계는 매우 높아 문제가 있음 딥러닝 기반 임의의 복잡한 함수를 근사시키는 능력, feature representation 학습하기 쉬운점 위 두 특징들이 가정을 덜 가져가도되게하고 데이터상 상관관계를 허용한다. RNN 시계열 데이터 예측엔 강점을 가졌으나, 공간 데이터에 적용하긴 쉽지 않다. 따라서 RNN의 ..
[미라클 모닝] 내가 미라클 모닝을 하게 된 계기, 미라클 모닝 후기 (5주차) 미라클 모닝 계기 나는 트레바리란 독서모임을 하는데, 모임에서 매달 서로 도전할 과제를 얘기하고 실천하는 규칙이 있다. 난 새벽6시 기상을 목표로 했다. 3일정도는 정말 일어나기 힘들었다. '내 의지로는 일어날 수 없는 것일까?'란 고민을 많이 했다. 그러다가 일찍 일어나는 것과 관련된 책들을 찾게 됐고, 예전에 '한달인생tv'에서 '미라클 모닝'을 인생 책으로 추천했던 게 기억났다. 바로 책을 구매해버렸고, 앉은 자리에서 다 읽어버렸다. 그 만큼 내게 많은 영감과 자극을 줬다. (정말 내겐 인생 책이어서, 다른 분들에게도 꼭 추천한다! 이 맘때쯤 난 자기계발 서적에 회의감을 느끼고 질린 상태였지만, '할 엘로드'는 다르다! 자기계발서적이라고 다 같은 것이 아니다!) 읽은 다음날 새벽부터 미라클 모닝을 ..

728x90