본문 바로가기

개발자의 개발개발한 하루/python8

python logging으로 매일 log 만들기 (backupcount 설정 했는데 안 지워 질 때 해결법) 로그를 남기는 방법은 여러가지인데, (매일마다 처리하려고 하니, 스크립트로 만들어서 크론탭 등록, python 로그 파일 없으면 만들고 있으면 거기다 붙여넣는 식으로) python3에 있는 logging을 사용해서 해보려고 한다. logging이란? 일단 로그(log)란, 내가 한 것에 대한 ‘기록’으로 일기와 다름없다. 요즘 유행하는 vlog처럼 내가 오늘 뭘했는지 기록하는 것이다. IT에서 log란 소프트웨어 실행 중에 발생하는 이벤트 등을 기록한 것이다. 이러한 로그를 기록하는 행위는 로깅(logging)이라고 한다. 물론 vlog를 하고 싶어서 하는 사람도 있고 안하고 싶어서 안하는 사람들도 있는 것처럼 개발하면서 확인하고 싶으면 로그 남기는 것이고, 중요하지 않고 안해도 되면 안남기는 것이다. .. 2022. 3. 28.
python get_text 와 string 차이 get_text와 string의 차이를 모르겠어서 이것 저것 테스트를 했다. get_text string 현재 HTML 문서의 모든 텍스트를 한 번에 추출할 수 있다. 태그 내 문자열을 반환 현재 태그를 포함하여 모든 하위 태그를 제거하고 유니코드 텍스트만 들어있는 문자열을 반환한다. -> 항상 맨 뒤에 써야함 태그가 하나라면, 문자값을 가진다면 문자열을 반환한다. 문자열이 없으면 유니코드 형식으로 반환하므로, 출력값이 안나옴. string처럼 None도 표시 안됨 태그가 둘 이상이면 뭘 반환해야 하는지 명확하지 않아서 None을 출력한다. 하위테그까지 들고오려면 get_text 쓰는 것이 좋음 정확하게 또 명시적으로, 정석대로 원한다면 string이 좋음 둘 중 편한대로 쓰면 될 것 같다. from b.. 2022. 3. 14.
python iframe 렌더링된 페이지 크롤링 하기 아주 큰 깨달음을 얻은 날이다. 왜 계속 iframe 크롤링 하는데 왜!! 리스트가 비어서 출력될까..? 도대체 뭐가 문젤까.. 싶어서 찾아보면서 한 예시로 네이버 금융을 테스트 해보았다. F12를 누르면 개발자 도구가 나오는데, iframe을 눌러서 검색해보면 이렇게 잡혀있고 해당 부분은 src에 적힌 경로대로 다시 렌더링 되어서 페이지가 만들어지기 때문에 attrs로 title까지 얻을 수는 있겠지만 src 이후부터는 가지고 올 수가 없다. 그래서 이걸 어떻게 하면 가지고 올 수 있을까 싶어서 찾아보다가 Selenium을 쓰면 된다는 후기가 많아서 한 번 해봤다. 사실 이 페이지 크롤링 하려고 Selenium까지 쓸 필요는 없는데 워낙 무겁다보니까 근데 테스트 용으로 한 번 해보았다. 추가적으로 해당.. 2022. 2. 16.
python 3에서 바뀐 것 (출력방식, 문자열 인코딩) python2.xx -> python3.xx로 바뀌면서 바뀐게 많지만 크게 내가 보려고 정리해본다. 1. print 차이 python 2.xx에서는 print "하이하이" 이런 식으로 괄호 없이 출력했는데, python 3.xx에서는 print("하이하이") 이렇게 괄호를 붙여야만 출력되고 에러가 나지 않는다. 2. 저장 방식 python 2에서는 ASCII 방식으로 저장되었는데(UNICODE방식도 지원은 되었으나 별도 설정 필요) python 3에서는 기본 저장 방식이 UNICODE이다. 3. string python 2 에서는 default encoding은 ASCII 이다. python 3 에서는 모든 string은 unicode이고, 기본 encoding은 utf-8 이다. (그래서 문자열 앞에 .. 2022. 2. 14.
파이썬 크롤링 User-Agent 파이썬 크롤링에서 user agent를 학습했다. 참고 영상은 아래처러 나도코딩님의 유트브 강좌이다. https://www.youtube.com/watch?v=yQ20jZwDjTE&t=3661s user agent란? 크롬으로 가령 https://naver.com 으로 들어가서 F12(개발자도구)를 켜면 HTTP 패킷 중 Header에 User-Agent가 위치한다. 사람이 정보를 얻기 위해 웹브라우저를 사용하는데 이 웹 브라우저가 어떤 종류이고 어떤 상태인지 적혀 있는 집약체라고 할 수 있다. 웹브라우저라 하면 IE, Edge, Chrome 등등이 있는데 사람마다 휴대폰으로 들어갈 수도 있고, window 11 버전인 os에서 접속할 수도 있다. 이에 따라 화면이 다르게 보이도록 되어 있기 때문에, 크.. 2022. 2. 9.
파이썬 정규표현식 re 사용 requests에 이어 정규표현식 re 라이브러리를 이용해 보았다. 강의는 다음과 같다. https://www.youtube.com/watch?v=yQ20jZwDjTE&t=3154s 정규표현식을 찾아봤는데, 다양한 정의 중 한 가지 공통된 점이 있었다. 복잡한 문자열을 처리할 때 사용하는 기법으로, 특정 패턴을 가진 문자열이 있는지 여부를 확인할 수 있다는 것이다. 예를 들면 다음과 같다. . (ca.e) : 하나의 문자 의미 > care, cafe, case (0) | caffe(X) ^ (^de) : 문자열 시작 > desk, destination(0) | fade(X) $ (se$) : 문자열을 끝 > case, base(O) | fase (X) .. 등등 정규식은 많다! 간단하게 강의 바탕으로 이.. 2022. 2. 9.
파이썬 크롤링 requests 사용 http 응답코드 확인해보는 테스트를 했다. 참고 영상은 다음과 같다. 나중에 다시 한 번 더 봐야겠다. https://www.youtube.com/watch?v=yQ20jZwDjTE 기본적으로 http 응답이 제대로 왔으면 200을 출력하는데, jupyter notebook으로 확인했을 때는 응답코드 200이 찍혔다. import requests res = requests.get("https://naver.com") print("응답코드 :", res.status_code) # 200이면 정상 강제로 에러코드 생기게 url을 만들어서 응답코드 이상하게 나오도록 해보았다. import requests res = requests.get("http://naver.hello.com") print("응답코드 :.. 2022. 2. 8.
파이썬 크롤링 무료 공부 사이트 크롤링!! 3년 만에 하다보니 다 까먹었다....!!! (국비교육 첨 들었을 때 했는데,, 다까먹었넹,, ) 다시 학습이 필요해서 급하게 찾아보다가 내가 다시 보려고 정리해본다. 급하게 찾아보니 인프런에 무료 강의가 있었고, 크롤링 방법 중 beautifulsoup4랑 Selenium 쓰는거랑 scrapy쓰는거랑 다양한데, beautifulsoup4를 써야해서.. 커리큘럼 보고 이를 빠르게 기초 다질 수 있는 강의 찾아서 학습했다. 1. 업무 자동화를 위한 파이썬 pyautogui, beautifulsoup 크롤링 기초 https://www.inflearn.com/course/%EC%97%85%EB%AC%B4%EC%9E%90%EB%8F%99%ED%99%94-%ED%8C%8C%EC%9D%B4%EC%8D%A.. 2022. 2. 8.
반응형