마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

웹 크롤링 에러좀 봐주세요..

0 추천

안녕하세요. 자바와 크롤링을 공부하는 학생입니다.

제가 youtube.com의 재생목록을 크롤랭해서 앱에서 리사이클러뷰로 나타내려고 합니다.

아래와 같이 코딩했는데, 리사이클러뷰 자리엔 아무것도 안 만들어 지고 빈 화면이더라구요...

 

무엇이 문제일까요?? 전문가님들의 조언 부탁드립니다.

 

 

<MainActivity.java> <-"https://cosmosjs.blog.me/221294678259" 이 글을 참고하여 약간 수정만 했습니다.

@Override
protected Void doInBackground(Void... params) {
    try {
        Document doc = Jsoup.connect("https://www.youtube.com/playlist?list=PLOb0oDPP-6vb0PHm5B-XNEAkPIFkm5po7").get();
        Elements mElementDataSize = doc.select("div[class=style-scope ytd-playlist-video-list-renderer]")
                .select("ytd-playlist-video-renderer");

        for(Element elem : mElementDataSize){
            String my_title = elem.select("h3[class=style-scope ytd-playlist-video-renderer] span")
                    .text();

            itemData.add(new ItemData(my_title));
        }

        Log.d("debug :", "List " + mElementDataSize);
    } catch (IOException e) {
        e.printStackTrace();
    }
    return null;
}

▲mElementDataSize 부분을 작성할 때는 
"https://www.youtube.com/playlist?list=PLOb0oDPP-6vb0PHm5B-XNEAkPIFkm5po7"
이 사이트의 F12누르면 나오는 소스를 참고했습니다.
 

▲(String) my_title 부분을 작성할 때도 
"https://www.youtube.com/playlist?list=PLOb0oDPP-6vb0PHm5B-XNEAkPIFkm5po7"
이 사이트의 F12누르면 나오는 소스를 참고했습니다.
realcdh (140 포인트) 님이 2020년 5월 20일 질문
realcdh님이 2020년 5월 20일 수정

1개의 답변

0 추천
화면이 뜬 후에 목록을 가져오는 코드가 실행되는 경우가 있는데, 이러면 브라우저에서 보면 잘 보이는데 코드에서 호출하면 비어있어요. doc.select()에 있는 엘리먼트들을 한 단계씩 파싱해서 로그를 찍어보세요.
쎄미 (162,410 포인트) 님이 2020년 5월 22일 답변
...