전체 글
-
[Selenium] 파이썬 셀레니움을 이용한 네이버 지도 크롤링 프로그램 만들기 - 2Python/크롤링 2024. 3. 5. 18:23
파이썬 셀레니움을 이용한 네이버 지도 크롤링 프로그램 만들기 이전에 파이썬 셀레니움(Python Selenium)을 이용해서 네이버 지도에 등록된 업체 정보를 크롤링해보았습니다. 그런데, 이전에 작성한 코드에는 두 가지 문제가 있어서 완전한 크롤링을 할 수 없다는 단점이 있었지요. 네이버 지도는 한 페이지에 50건의 업체를 보여줍니다만, 스크롤을 내리지 않으면 일부분만 보여줍니다. 업체 세부정보를 보기 위해서는 해당 업체를 클릭해야 합니다. 그래서, 위에 언급된 두 가지 문제를 해결하는 코드를 이용해서 새로운 크롤링 프로그램을 만들어 보도록 하겠습니다. 이번에는 셀레니움을 이용한 동적 크롤링뿐만 아니라 뷰티풀수프(BeautifulSoup)를 이용한 정적 크롤링까지 병행해서 이용해 보겠습니다. # impo..
-
[Python] 파이썬의 set, frozenset 자료형 알아보기Python/파이썬 기초 2024. 2. 29. 17:07
파이썬의 set, frozenset 자료형 알아보기 파이썬(Python)에서 수학의 집합 개념을 표현할 수 있는 자료형으로는 set 또는 frozenset이 있습니다. 이는 중복 제거와 교집합, 합집합, 차집합 계산 등의 연산을 지원해서 복잡한 코드를 적어야 하는 문제를 간편하게 해결할 수 있게 해줍니다. 몇 가지 코드 예제를 통해서 set, frozenset 자료형의 특징과 사용 예시를 알아보도록 하겠습니다. set 자료형 set 자료형은 흔히 집합이라고 부르는 파이썬 기본 자료형입니다. 파이썬 공식 문서 기준으로는 서로 다른 해시 가능 객체의 순서 없는 컬렉션이라는 알 수 없는 정의가 제시되어 있는데요, 이를 쉬운 말로 풀어쓰면 아래와 같이 나타낼 수 있습니다. 중복을 허용하지 않습니다. 순서 정보를..
-
[Selenium] 셀레니움 ActionChains로 스크롤 끝까지 내리는 방법 알아보기Python/크롤링 2024. 2. 28. 14:53
파이썬 셀레니움 ActionChains로 스크롤 끝까지 내리는 방법 알아보기 파이썬(Python)을 이용한 크롤링 작업 중, 셀레니움(Selenium)을 이용한 크롤링은 다양한 상호작용을 지원합니다. 그중에서, 스크롤을 일정 수준 내리면 새로운 콘텐츠가 로드되는 방식의 웹사이트는 단순히 HTML 문서를 파싱하는 방법으로는 크롤링할 수 없기 때문에 셀레니움 사용이 필수지요. 이번에는 원티드(wanted)에서 채용정보를 검색하는 상황을 가정하여 자동으로 스크롤 끝까지 내리는 방법을 구현해 보도록 하겠습니다. [사진 1] 원티드에서 채용정보를 검색했을 때의 화면 원티드에서 플러터(Flutter) 기술 관련 채용정보를 검색한다고 가정해 봅시다. 이 때, 검색창에 flutter라는 키워드를 적은 뒤, 해당 포지션..
-
[BeautifulSoup] 파이썬으로 알라딘 베스트셀러 정적 크롤링하기Python/크롤링 2024. 2. 8. 17:00
BeautifulSoup를 이용한 알라딘 베스트셀러 크롤링하기 파이썬(Python)을 이용한 크롤링에는 크게 두 가지 패키지가 사용됩니다. 동적 크롤링에 주로 사용되는 셀레니움(Selenium)과 정적 크롤링에 사용되는 뷰티풀수프(BeautifulSoup)죠. 전자는 동적 웹페이지(서버에 의해 통제되는 구조)의 경우 효율적으로 데이터를 크롤링할 수 있으며, 후자는 정적 웹페이지(태그가 그대로 표현되는 유형의 구조)의 경우 편리한 크롤링이 가능합니다. 이번에는 뷰티풀수프를 이용해서 알라딘 인터넷서점의 주간 베스트셀러 목록을 크롤링해 보려 합니다. 구조가 간단하고, 단순히 텍스트만 가져오면 되는 작업이라서 초보자 분들도 코드 몇 줄만 이해하면 따라할 수 있을겁니다. 만약 뷰티풀수프가 설치되지 않은 컴퓨터라면..
-
[MediaPipe] Apple Silicon Mac에서 발생하는 문제 해결하기Python/MediaPipe 2023. 11. 27. 13:50
애플실리콘 맥에서 미디어파이프 문제 해결하기 파이썬(Python)에서 손쉽게 이미지 인식 및 모션캡쳐를 이용할 수 있게 해주는 패키지로 미디어파이프(MediaPipe)가 있습니다. 그런데, 미디어파이프를 애플 실리콘(Apple Silicon, M1 또는 이후 출시된 칩셋) 맥에서 사용할 경우 에러가 발생하는 상황이 있는데요, 이 문제를 해결하기 위해서는 파이썬 버전에 따라 다른 방식으로 미디어파이프를 설치해 줘야 합니다. 파이썬 버전 3.8 이상인 경우 $pip3 install mediapipe-silicon 위 명령어를 이용해 미디어파이프 애플 실리콘 버전을 설치해준 뒤 이용하면 됩니다. 파이썬 버전 3.8 미만인 경우 $pyenv global 3.10.6 $pip3 install mediapipe 위..
-
[Django] Invalid HTTP_HOST header 에러 해결하는법 알아보기Python/WebApp 2023. 11. 23. 09:55
Django에서 Invalid HTTP_HOST header 에러가 날 때 해결하는 방법 알아보기 파이썬(Python)의 웹 프레임워크인 장고(Django)를 이용하면 손쉽게 다양한 기능을 가진 웹사이트를 만들 수 있습니다. 에러가 발생했을 때를 빼고 말이죠. 이번에는 Django에서 Invalid HTTP_HOST header 에러가 났길래 이걸 해결하는 방법을 알아보았습니다. 우선, 에러가 발생하는 케이스를 살펴보도록 합시다. 장고 프로젝트를 만든 뒤, 이리저리 편집하다가 호스팅을 해 보면 접속하자마자 이런 화면을 확인할 수 있는데, 이게 Invalid HTTP_HOST header 에러가 발생한 화면입니다. 이 때는 프로젝트의 settings.py 파일을 수정해서 문제를 해결할 수 있습니다. 알고 ..
-
[TensorFlow] 파이썬 사진 분류 딥러닝 모델 만들기Python/Tensorflow 2023. 11. 16. 14:48
텐서플로우를 이용한 사진 분류 딥러닝 모델 만들기 파이썬(Python)의 기계학습 라이브러리는 주로 텐서플로우(TensorFlow)나 파이토치(PyTorch)가 이용됩니다. 최근에는 파이토치의 점유율이 조금 더 높아 보이지만, 예전에는 텐서플로우의 인기가 더 많았던 때가 있기 때문에 각각의 라이브러리를 이용한 문서는 쉽게 찾아볼 수 있지요. 이번에는 그중에서 텐서플로우를 이용해서 딥러닝 모델 구현을 해 보려고 합니다. 말과 사람을 구분하는 작업이예요. 이번 작업에서 사용하는 데이터셋은 horse or human 데이터인데요, Laurence Moroney 에서 제공하는 데이터입니다. CG로 생성된 300*300px 크기의 말 또는 사람이 들어있는 컬러 이미지 데이터이며, 다양한 포즈와 배경이 있어서 일반..
-
[PyTorch] 파이토치 transforms 모듈로 이미지 전처리하기 (torchvision)Python/PyTorch 2023. 10. 17. 16:50
파이토치의 transforms 모듈을 이용한 이미지 전처리 알아보기 (torchvision) 파이썬(Python)으로 기계학습(Machine Learning, ML)을 하다 보면, 이미지 데이터를 변환할 때가 생깁니다. 사람은 이미지를 지나치게 확대-축소하지만 않으면 이미지들의 인식과 구분이 가능하지만, 컴퓨터는 같은 이미지라도 크기와 방향 등이 달라지면 다른 이미지로 인식할 수도 있기 때문이지요. 그런데, 우리가 가지고 있는 이미지는 촬영 상황이나 기기, 그리고 배포하는 사람에 따라서 다양한 형태로 주어집니다. 그래서 파이썬 기계학습 모델의 이미지 학습을 할 경우, 이미지의 전처리가 꼭 필요하지요. 이번에는 파이토치의 transforms 모듈을 이용한 이미지 전처리를 알아보겠습니다. transforms..