Uncategorized No Comments

안드로이드 웹 파싱 예제

나는 Roids에 Droids에서 작업을 시작하기 전에, 나는 프리랜서이었다 – 종종 인기있는 폴란드어 사이트의 안드로이드 버전을 만드는. 비공식적이기 때문에 API가 없었기 때문에 모든 것이 웹 스크래핑을 기반으로했습니다. 원시 HTML 텍스트에서 작동하기 시작했습니다 – 원하는 값을 얻기 위해 시프트를 추가하는 특정 문자열을 찾고 있었습니다. 헤드리스 브라우저이기 때문에 HtmlUnit으로 작업을 시작하고 자바 IDE에서 사용자 정의 API를 완료했으며 나중에 java IDE에서 생성 된 항아리를 사용하려고 시도했으며 HtmlUnit 및 Android와 호환되지 않는 문제가 있음을 발견했습니다. 우리는 안드로이드에 XML을 구문 분석하는 효율적이고 유지 관리 가능한 방법입니다 XmlPullParser을 권장합니다. 역사적으로 안드로이드는이 인터페이스의 두 가지 구현을했다 : 인터넷 액세스를위한 안드로이드 매니페스트 파일에 인터넷 권한을 추가합니다. jspoon은 CSS 선택기와 주석을 사용하여 Java POJO 개체를 만드는 라이브러리입니다. 그것은 HTML 파서로 jsoup을 사용하고 더 나은 성능을 위해 반사를 캐시합니다. 그것은 또한 자바 7 호환, 그래서 너무 안 드 로이드에서 작동. Android 응용 프로그램을 만들 때 웹에서 얻은 HTML 데이터 또는 HTML 페이지를 구문 분석해야 할 수 있습니다. Java에서 가장 잘 알려진 솔루션 중 하나는 JSoup 라이브러리를 사용하는 것입니다. JSoup의 공식 웹 사이트에서 말했듯이 : “그것은 실제 HTML로 작업하기위한 자바 라이브러리입니다. DOM, CSS 및 jquery와 유사한 메서드를 사용하여 데이터를 추출하고 조작하는 데 매우 편리한 API를 제공합니다.” JSoup은 안드로이드 응용 프로그램에서 사용할 수 있으며, 우리는 JSoup와 안드로이드에 HTML 페이지를 구문 분석하는 방법을 공부하려고합니다.

YouTube에서 비디오에서 자습서를 검색할 수 있습니다: 샘플 앱은 항목 태그및 중첩 태그 제목, 링크 및 요약에 대한 데이터를 추출합니다. 유일한 단점: RequestBody 개체 만들기를 직접 처리 해야 합니다. Jsoup은 HTML 그림의 모든 요소를 반복하여 Jsoup을 사용하는 HTML 문서의 모든 요소를 선택하고 반복합니다. API에 액세스할 수 없는 경우(예: 아직 준비되지 않은 경우)에 사용할 수 있습니다. 또 다른 가능한 경우는 웹 페이지가 사용자 것이지만 API를 생략하고 페이지를 스크랩 할 수 있으므로 데이터베이스에 대한 전체 액세스 권한이 없습니다 (또는 게으른 경우). 또한 앱에서 타사 웹 페이지를 다루고 메타 태그와 같은 일부 데이터가 필요한 경우 이 라이브러리가 적합합니다. 웹 사이트 소스 코드는 웹 페이지가 표시되는 방식을 결정합니다. 그러나 웹 페이지의 소스 코드는 서버에서 처리하지 않는 정보와 코드만 표시합니다. 이러한 목적을 위해 Jsoup 라이브러리를 사용합니다. 매우 편리하고 사용하기 쉽습니다. 이 답변으로 시작하여 문서 및 기타 예제를 따릅니다.

다음 섹션에서는 ScalarConverter를 사용하여 Retrofit 요청에 전달된 웹 사이트를 구문 분석합니다. 모든 텍스트 단어를 가져오고 RecyclerView에서 각 단어의 수를 유지합니다. 웹 페이지에서 가져올 데이터를 표시할 레이아웃을 준비합니다.