데이터 엔지니어 이것저것

모바일 크롤링 본문

개발

모바일 크롤링

pastime 2023. 4. 30. 04:03
728x90

기존에는 모바일 크롤링을 하기 위해서 통신하는 소켓을 까서 분석하고 하는것으로 확인을 해볼려고 시도를 했다.

보안이 약한 앱의 경우 성공을 했지만, 보안을 한 앱의 경우 실패를 했다.

추가적으로, 보안 이슈가 있어서 코드는 일부만 첨부

아직 카톡 등 의 앱까지는 테스트를 진행하지 않았다.

 

유튜브, 배민 등은 성공했다.

 

앱의 화면의 경우 xml로 데이터를 보내기 때문에 xml을 분석하여 사용.

 

안드로이드 스튜디오의 애뮬레이터를 이용하여 세스트 진행

 

애뮬레이터에 설치된 어플 목록

 

 

import xmltodict
import xml.etree.ElementTree as et
import json


root = et.fromstring(hierarchy)
to_string  = et.tostring(root, encoding='UTF-8', method='xml') # 인코딩 이슈
xml_to_dict = xmltodict.parse(to_string)

# xml 기반이라 그런지 엄청나게 타고타고 내려가야한다.
title = xml_to_dict.get("hierarchy").get("node")[1].get("node")[0].get("node").get("node").get("node").get("node").get("node")[2].get("node")[1].get("node").get("node").get("node").get("node")[1].get("node").get("node").get("node").get("node")[0].get("@content-desc")

가게 목록
가게 상세 페이지

 

 

 

현재 사용하는 방식의 경우 보안에 취약 ( 데이터를 가져오기 위해 프로그램 설치가 다수 필요한데, 정확하게 무슨 기능을 하는지 파악이 필요 ) 해서 다른 방식 개발 진행중

 

728x90

'개발' 카테고리의 다른 글

graphviz 설치하기 (윈도우)  (0) 2023.10.19
다이어그램 만들기  (0) 2023.10.19
Vertical vs Horizontal Scaling  (0) 2023.03.01
빅데이터 5V  (0) 2023.02.27
OLTP vs OLAP  (0) 2023.02.27