본문 바로가기

웹 크롤링(Web Crawling)/크롤링 프로젝트(시행 착오 노트)7

json으로 제공되는 데이터 크롤링하기 (API 데이터 크롤링하기) 크롤링 요구사항고방 사이트에서 '쉐어하우스' 에 올라온 집 정보들이 필요했다.https://m.gobang.kr/share 사이트에서 서울에 있는 모든 정보를 크롤링해야 한다. 문제 해결 방안일반 크롤링 방식으로는 절차가 복잡하고 데이터도 많아 어려워 보였다.따라서 API를 통해 GET 요청 받은 데이터를 크롤링 하기로 결정하였다. 1) 개발자 도구의 Network 탭에서 방들의 정보가 담긴 JSON 파일을 찾는다.팁이 있다면, Fetch/XHR 에서 찾을 수 있다. 사이트를 들어가보면 아래와 같이 뜬다.그런데 해당 페이지는 스크롤을 내리기 전까지 아래에 있는 데이터를 가져오지 않았다.그래서 새로운 요청이 또 있을 것이라고 판단! 새로 생긴 것의 api 주소를 보니 미세하게 다른 것이 있었다.[처음 화면.. 2024. 9. 22.
[Python] 크롤링한 데이터 DB에 저장하기 목표- 크롤링한 데이터들을 mysql의 데이터베이스에 데이터를 넣는다. 준비물- mysql이 설치 되어 있어야 한다.mysql 계정은 root, 비밀번호는 1234 라고 가정한다. 방법1. 명령 프롬프트(cmd)를 킵니다. 2. 아래 명령어로 데이터베이스를 생성합니다.mysql -u root -p # root 계정으로 접속CREATE DATABASE dabang_data; # dabang_data DB 생성show databases; # DB 조회 3. Python에서 mysql을 접속합니다. 그리고 테이블을 생성합니다.- 터미널에서 mysqlclient 라이브러리 설치 (Python으로 mysql에 접속을 도와주는 라이브러리)pip install mysqlclient - Python 코드에서 mysql.. 2024. 9. 22.
PC에서 내 휴대폰을 띄우는 방법 (ADB 이용) 결과물 PC 화면과 휴대폰 화면이 연동되도록 하고 싶은 경우 아래의 방법을 따라하면 된다. 이를 이용해 IP 변경, 매크로 제작 등에 이용할 수 있다. (여러 사람들에게 메시지 보내는 반복 작업을 할 때도 사용한다고 한다.) ADB란? Android Debuging Bridge의 줄임말이다. Android 휴대폰에 명령을 내릴 수 있도록 도와주는 도구(라이브러리)라고 보면 된다. 방법 1) 구글에 'adb android download' 을 검색하여 사이트에 들어가거나 아래 사이트에서 자신의 운영체제에 맞는 도구를 다운로드 받습니다. https://developer.android.com/tools/releases/platform-tools?hl=ko SDK 플랫폼 도구 출시 노트 | Android Stu.. 2024. 3. 21.
[Python] 웹 화면 축소하기 (모바일 스크롤 대안) 문제 상황 인스타그램에서 댓글 정보를 크롤링하는 프로그램을 만들어보려고 했다. 위 이미지 처럼 '댓글 n개 모두 보기' 버튼이 한 화면에 담기지 않아 해당 element을 찾아 클릭을 할 수가 없었다. 이를 해결하기 위해 스크롤을 하려고 했었으나, 현재 모바일 버전으로 접근했기 때문에 driver.find_element(By.CSS_SELECTOR, "body").send_keys(Keys.END) 코드와 같이 END키로 내리게 할 수가 없었다. (컴퓨터가 아니기 때문이다.) 문제 원인 driver.find_element(By.CSS_SELECTOR, "body").send_keys(Keys.END) 평소(PC 크롤링) 같으면 위 코드로 해결했겠지만, 모바일로 접속했으므로 END 키가 먹히지 않을 뿐더러.. 2024. 2. 15.