APP/안드로이드프로그래밍
안드로이드스튜디오에서 Jsoup으로 웹 크롤링하기 (Java)
헬로월드!
2020. 9. 14. 14:52
jsoup 이란 특정 url의 html을 파싱해주는 라이브러리
파싱이란? 컴퓨터 과학에서 파싱((syntactic) parsing)은 일련의 문자열을 의미있는 토큰(token)으로 분해하고 이들로 이루어진 파스 트리(parse tree)를 만드는 과정을 말한다.
안드로이드스튜디오에 build.gradle(Modul: app) 에 dependencies를 추가해준다
→ implementation 'org.jsoup:jsoup:1.13.1'
manifest 에는
<uses-permission android:name="android.permission.INTERNET"/>
<android:usesCleartextTraffic="true"/> 이부분도 http 통신을 위해 추가!
그다음 크롤링하고 싶은 웹페이지에 들어간다. 나는 빨간 부분을 가져오고 싶었다.
네트워크에서 데이터를 받아오려면 별도의 Thread가 필요하다! 그러지 않으면 이런 에러를 볼 수 있다!!
doc.select( ) 안에는 태그를 써넣어줘야하는데, 이때는 F12 에서 html 코드를 보고 가져올만한 걸 가져오자!!
detail_box class 의 dl 태그를 가져오고 첫번째꺼를 선택한다는 의미로 doc.select(".detail_box dl").first() 라고 써줬다.
가져올 땐 클래스는 . 으로 id 는 #으로 가져온다.
이렇게 하면 끝이다!