분류 전체보기 (262) 썸네일형 리스트형 쿠팡 상품 정보 수집기 v1.1.0 쿠팡 상품 정보 수집기 v1.1.0 버전까지 붙여서 있어 보이지만 별 다른 기능은 없다. 이번에는 2가지 기능을 추가했다. 상품 제목의 평균길이와 평균 키워드 수 상품 이름에서 가장 자주 사용되는 단어 Top 10 실행화면 꼬리에 꼬리를 무는 웹 스크래핑/크롤링 이야기 꼬리에 꼬리를 무는 웹 스크래핑/크롤링 이야기 웹 스크래핑 vs 크롤링 차이점은 뭐지? 웹에서 데이터를 수집하는 기술로, 비슷한 개념이지만 목적과 수행 방식에서 차이가 있음 크롤링은 웹페이지 간의 링크를 자동으로 탐색하는 과정 스크래핑은 웹 페이지에서 특정 데이터를 추출하는 과정 웹 페이지 간의 링크를 따라 자동으로 탐색한다는 게 뭔가? 웹크롤러(또는 스파이더)가 웹 페이지에 있는 하이퍼링크를 사용해 페이지를 이동하면서 데이터를 수집하는 과정 수집된 웹 페이지들은 검색 엔진의 인덱싱 과정을 거쳐 검색 결과를 볼 수 있음 웹 페이지에 있는 하이퍼링크는 허곰의 코딩블로그 검색 엔진의 인덱싱 과정 수집한 웹 페이지 데이터를 분석 -> 저장 -> 정렬해서 사용자에게 적절한 검색 결과를 제공할 수 있는 구조로 만.. 쿠팡 상품 정보 수집기(Python, Pyside6) 쿠팡 상품 수집기(Python, Pyside6) 파이썬 GUI라고 검색하니까 대표적으로 Pyside랑 PyQt 프레임워크를 사용한다고 하길래, Pyside6을 사용했다. Pyside6 선택 이유 가장 큰 선택이유는 PyQT는 GPL 또는 상용 라이선스를 사용하고 Pyside는 LGPL 라이선스를 사용한다는 것이다 여기서 LGPL이란, Lesser General Public License의 약자로서 자유 소프트웨어 라이센스이다. 결론적으로 LGPL은 상용화에 사용해도 GPL보다는 덜 제약을 받는다길래 사용했다... 실행화면 느낀 점 Qt Designer를 사용했는데, 버튼들 위치 수정 띡띡 하고 ObjectName만 던져주고 사용하는 게 너무 편리하다. 코드 中 threads = [] for thread_.. 전혀 모르고 있다가 파이썬 3.12가 나왔다길래 읽어봤다는 내용 전혀 모르고 있다가 파이썬 3.12가 나왔다길래 읽어봤다는 내용 물론 7번째 알파 릴리즈 버전이었다. 오류메시지가 굉장히 친절해졌다 첫 번째, 아래 코드를 3.11과 3.12.0a7에서 동작시켜봄 class A: def __init__(self): self.blog = '허곰의 코딩블로그' def Blog(self): somethin = blog a = A() print(a.Blog()) NameError 3.11 버전 3.12 버전 그리고 이름이 살짝 틀린 모듈 임포트 from collections import chainmap ImportError 3.11 버전 3.12 버전 결론 친절함 폼 미쳤다.. 왜 웹 브라우저 자동화 도구(Selenium, Pupeteer)는 로그인 상태가 유지되지 않는가? 왜 웹 브라우저 자동화 도구(Selenium, Pupeteer)는 로그인 상태가 유지되지 않는가? 때는 타오바오 중국 쇼핑몰 파싱 하던 도중, 타오바오 특징이 로그인을 안 하면 쇼핑 검색을 할 수가 없어서 로그인 부터 자동화를 시도했다. 로그인 과정에서 슬라이딩 캡차?가 존재하는데, 흠.. 헛짓거리의 흔적.. // 슬라이더 요소의 위치와 크기를 얻습니다. const sliderElement = await page.$('selector'); const sliderBox = await sliderElement.boundingBox(); ... // 슬라이더의 시작점으로 마우스를 이동합니다. const sliderStartX = sliderBox.x + sliderBox.width / 2; const slid.. 꼬리에 꼬리를 무는 Spark와 RDD, DataFrame, Dataset 이야기 꼬리에 꼬리를 무는 Spark와 RDD, DataFrame, Dataset 이야기 서론 실습이 더 중요하지만... 이론적으로 공부했다. 노트북아 힘내렴 Spark에서 사용할 수 있는 데이터 형태에는 뭐가 있나? Apache Spark에서는 RDD(Resilient Distributed Dataset), DataFrame 및 Dataset 3가지 데이터 형태를 사용 가능 Spark의 기본 컨셉이 RDD(Resilent Distributed Datasets) 임 3개 중에 뭐 사용? 데이터 특성에 따라 적합한 데이터 형태를 선택해야 함 1. RDD (Resilient Distributed Dataset) Spark에서 가장 초기에 개발된 데이터 형태 불변성과 탄력성을 가지는 분산된 객체 컬렉션 RDD는 직접.. [Update] 미 증권 뉴스 스크래핑 : 클라우드타입(CloudType - Paas) [Update] 미 증권 뉴스 스크래핑 : 클라우드타입(CloudType - Paas) 이런 내용입니다. API를 주기적으로 호출하기 위해 Github Action을 사용했지만 큰 변수가 있었고, 변수를 해결하기 위해 국내 PaaS 클라우드 호스팅 서비스를 사용한 내용이다. 큰 변수? 그것은 Github Action에 사용량 제한이 있어서 10분마다 API를 호출하는 나한테는 2000분으로는 부족하다. 그래서 나는 이 부분을 CloudType의 힘을 빌리기로 했다. 동작 흐름 1. CloudType CloudTyped은 국내 PaaS 클라우드 호스팅 서비스이다. 모두의 플랫폼팀, 클라우드타입 클라우드타입은 클라우드 기반 애플리케이션을 빠르게 개발하고 배포할 수 있는 클라우드 애플리케이션 플랫폼입니다. c.. [Fix] 미 증권 뉴스 스크랩핑 : Error 524 - A timeout occurred [HotFix] 미 증권 뉴스 스크랩핑 - (Error 524 - A timeout occurred) 무료 인스턴스를 유료 인스턴스 처럼 사용 한 나의 잘 못이다 Error 524 Cloudflare가 성공적으로 원본 웹 서버에 연결되었지만, 기본값인 100초의 연결 시간 동안 원본 웹 서버가 HTTP 응답을 제공하지 않았음 Cloudflare 웹사이트와 애플리케이션의 성능, 전달 가능성 및 온라인 보안을 최적화하기 위해 다양한 제품에 걸쳐 콘텐츠 전달 네트워크(CDN) 및 DNS 서비스를 제공하는 미국 회사 원인 단순하게 그냥 스크래핑 양이 너무 많다. 해결 방법 10분 이내 올라온 뉴스만 가져 옴 동시에 스케줄러도 10분 단위로 동작 if (minutesAgo 이전 1 2 3 4 5 6 ··· 33 다음