- 프로젝트에 필요한 웹 크롤링 기술 연마
- django DB에 저장할 데이터 긁어오는 연습하기
-
venv activate 위치는 OS마다 다름 (scripts X, bin O)
- 매번 윈도우로만 만들다가 맥을 사용한데 이런 다른 점이 있다니.
- 일단 나머지는 똑같은 거 같다.
- 매번 윈도우로만 만들다가 맥을 사용한데 이런 다른 점이 있다니.
-
새마을금고는 행안부 소속이다.
- 프로젝트 주제가 금융 api라 금융감독원 오픈 api를 쓸 예정인데 안나오는 이유를 알았다.
-
장고는 동기식인데 필요한 건 비동기식이면 settings.py를 건들이면 되긴하다.
- 이럴바엔 장고말고 자바스크립트로 하는게 나을 것 같다. 솔직히 playwrigtht는 꼭 파이썬이어야만 하는 것은 아니니
- selenium보다 더 좋은 것 같은게 좀 더 빠른 느낌?
-
웹크롤링은 방지 기능이 있는 곳이 많다.
- headers로 속이자
- 비동기로하는게 어렵다.
- 에러 겁나 떠! 언제 비동기로 해야되는지를 잘 생각해야할듯
-
장고에서 바로 DB에 돌려보기와 장고 없이 하는 것 나눔
-
samples는 장고 앱
- api/v1/search/로 간단히 모든 지역구 이름들 크롤링해 DB에 저장
-
새마을금고금리크롤링
-
완성_새마을금고금리는 모든 지점 이름과 원하는 상품 금리 이율만 긁어 intr_info.json에 저장
-
장고DB에_맞게_가공은 싸피에서 했던 프로젝트 DB에 맞게 형태 수정함
- 첫 장고 구동시 fixutres로 넣음
- 크롤링이 느려서 한번 확인하는데 한시간 반은 걸림.. ThreadPoolExecutor을 사용해서 기존 3시간 반에 비해서 줄어들었지만 한계가 있음
- 프로젝트 시간 내에 최적화를 더 못할 것으로 판단해 fixtures 형태로 미리 돌린 것 넣고 시작함
- 크롤링이 느려서 한번 확인하는데 한시간 반은 걸림.. ThreadPoolExecutor을 사용해서 기존 3시간 반에 비해서 줄어들었지만 한계가 있음
- 첫 장고 구동시 fixutres로 넣음
-
장고내에서_정기적으로_돌릴것은 사람들이 잘 사용안할 법한 시간(새벽 3시)에 돌려서 이전 정보와 비교를 시행
- 같으면 기존 것의 isCheck 항목만 True로, 다르면 지우고 새 걸로 DB에 저장
- 크롤링한 것과 오픈 api로 받아온 것들 다 확인하고 isCheck가 false(아예 상품이 사라진 걸로 추측된 녀석들)인 데이터 삭제
- 같으면 기존 것의 isCheck 항목만 True로, 다르면 지우고 새 걸로 DB에 저장
-
-
-
장고내에서_정기적으로_돌릴것
- 장고에서 테스트 시 문제 여부 확인 못함..
- 오픈api로 받아온 것 비교 시행하는 건 잘 돌아갔으니, 문제가 없으면 잘 돌아갈 것임.. 아마
-
수협 크롤링
- 프로젝트 기간이 짧고, 처음 해본 일이라 다 못하고 프로젝트 끝나버림
- playwright 공부해서 더 최적화
- iframe로 되어있는 경우 아직도 많이 헤맴..