Jsoup - Java에서 HTML 코드 추출 및 구문 분석

Jsoup  서점  de  Java  코드를 처리하는 사람  HTML입니다. 그것은이다 API   의 최상의 방법을 사용하여 데이터를 추출하고 조작하는 데 매우 편리합니다. DOM,  CSS  et  jquery.
jsoup  HTML5의 특성을 구현하고 최신 브라우저처럼 트리(DOM)에서 HTML 코드를 구문 분석합니다. JSOUP는 우산 아래 배포되는 오픈 소스 프로젝트입니다. MIT 라이선스. 소스 코드는 다음에서 찾을 수 있습니다. GitHub.
특징:
- URL, 파일 또는 문자열에서 HTML 코드를 구문 분석합니다.
- DOM 트리 및 CSS를 사용하여 데이터 찾기 및 추출.
- 요소 및 텍스트 조작 HTML.
- 사용자의 구독을 지워 XSS 공격을 방지합니다.
- 깔끔한 HTML 코드를 만듭니다.
    JSoup은 다양한 버전의 HTML에 맞게 설계되었으며 분석된 트리를 만듭니다.

    예:

    Wikipedia 페이지를 검색하고, 변환하고, DOM으로 구문 분석하고, 뉴스 섹션에서 항목 목록을 선택합니다.
    문서 문서 = Jsoup.connect("http://fr.wikipedia.org").get();

    1 - 문서 구문 분석

    이 코드는   document HTML:

    String html = " < 머리> < 제목> 첫 번째 제목 "
      + "< 몸> < 문서화할 예제 코드 ";
    문서 문서 = Jsoup.parse(html); < / o : p>< / span >< / div>

    파서는 제공 한 코드에서 명확한 HTML 코드를 만들기 위해 최선을 다할 것입니다.

    - 닫히지 않은 태그(예: < blabla <로 변신 블라블라
    - 암시적 태그(예:
            < TD입니다>   테이블   < 테이블> < tr> < TD입니다>
    - 생성 된 코드의 구조는 HTML 언어 (머리, 본문 및 페이지를 구성하는 요소)의 표준을 따릅니다.

    2- 문자열에서 문서 구문 분석

    우리는 Java String에 HTML을 가지고 있으며 내용을 포함하거나 잘 작성되었는지 확인하거나 수정하기 위해 HTML을 분해하고 싶습니다. 항목은 웹의 파일 또는 링크에서 읽을 수 있습니다.
    미리 정의된 방법을 사용해야 합니다  Jsoup.parse(문자열 html)  또는  Jsoup.parse(문자열 html, 문자열 Uri)  페이지가 웹에서 제공되는 경우. 참조  class Jsoup.

    String html = " < 머리> < 제목> 타이틀 "
      + "< 몸> < p>html en doc ";
    문서 문서 = Jsoup.parse(html); < / o : p>< / span >< / div>

    방법  Jsoup.parse (문자열 html, 문자열 Uri)  새 HTML 코드 입력을 구문 분석합니다. 문서. URI 인수는 상대 URL을 절대 URL로 변환하는 데 사용되며     문서가 있는 URL로 초기화됨  복구. 그것이 가능하지 않다면, 당신은 할 수 있습니다  Jsoup.parse(String html).
    매개 변수로 전달된 문자열은 null이 아니어야 하며 출력 문서는 head et de body. 만약에 당신  obturerez  트리 추출이 완료되지 않은 예외입니다. 올바르게 읽으십시오. 문서  자세한 내용은.
    문서가 있으면 다음을 수행할 수 있습니다. 복구  클래스의 메소드를 사용한 데이터  문서 및 상위 학년  노드  et  요소.

    3- 본문 구문 분석

    분석하고 싶은 보디수트가 하나 있습니다. 코드에는 HTML 코드가 아닌 요소가 포함될 수 있습니다(예: comments.
    해결책은 Jsoup.parseBodyFragment (문자열 html) .< / o : p>< / span >< / div>

    String html="< div> < 단락 ";
    Document doc = Jsoup.parseBodyFragment(html);
    요소 본문 = doc.body(); < / o : p>< / span >< / div>


    parseBodyFragment 메서드는 빈 문서를 만들고 구문 분석된 HTML을 본문에 삽입합니다. 를 사용하는 경우 Jsoup.parse(String html), 당신은  동일  결과이지만 출력을   본문 조각은 제공된 모든 요소가 구문 분석되었는지 확인합니다.
    Document.body() 메서드는 요소를 검색합니다  하체(자식) 본체, doc.getElementsByTag("본문").
      회복하다 스크립트가 포함된 사이트의 데이터 악성. 의 설명서 보기 whitelist  그리고 주문  clean(문자열 html, 화이트리스트 화이트리스트).

    4- URL에서 문서로드

    웹에서 HTML 문서를 검색 및 구문 분석하고 데이터를 찾으려면 Jsoup.connect(문자열 url).

    문서 문서 = Jsoup.connect( "http://siteweb.com/"< / span >< / span>).get(); 
    String title = doc.title();
    connect(String url)은 새 connexion  get()은 HTML 파일을 검색하고 구문 분석합니다. 만약에 a  검색 중에 오류가 발생하면 예외가 발생합니다. being  트리거됨.
    인터페이스  connexion  디자인  chaining  구체적인 답변은 :

    문서 문서 = Jsoup.connect("http://siteweb.com")
      .data("query", "Java")
      .userAgent("모질라")
      .cookie("auth", "token")
      .timeout(3000)
      .post();
    이 방법은 http 및 https 프로토콜의 URL만 지원합니다. 파일을 업로드해야 하는 경우 parse(파일 위치, 문자열 charsetName).

    5- 파일에서 문서로드

    HTML이 포함된 파일이 있는데 파일을 로드한 다음 분석하고 데이터를 추출하여 조작하려고 합니다. Jsoup.parse(File in, String encoding, String Uri).

    파일 입력 = new 파일("/temp/siteinput.html"); 
     문서 < / b>< / span> 문서 < / span> = < / span> < / span>Jsoup < / b>< / span>.< / span>parse < / span> (siteinput, "UTF-8", "http://siteweb.com/"); 
    Uri 매개 변수는 < 요소 앞에 있는 문서의 상대 URL을 확인하는 데 사용됩니다 href입니다> 찾을 수 있습니다. 빈 String.
    또 다른 유사한 메소드 parse(File in, String encoding) 가 있습니다. parse() 메서드는 파일 경로를 Uri로 사용합니다. 이 방법은 로컬 서버에서 작업할 때 효과적입니다.