>  기사  >  Java  >  Java API 개발에서 웹 스크래핑을 위해 JSoup 사용

Java API 개발에서 웹 스크래핑을 위해 JSoup 사용

王林
王林원래의
2023-06-17 23:49:381203검색

인터넷 정보가 폭발적으로 증가함에 따라 점점 더 많은 애플리케이션이 웹 페이지에서 관련 데이터를 가져와야 합니다. JSoup은 웹 페이지에서 데이터를 쉽게 추출하고 조작할 수 있는 Java HTML 파서입니다. Java API 개발에서 JSoup은 중요하고 일반적으로 사용되는 도구입니다. 이 기사에서는 웹 스크래핑에 JSoup을 사용하는 방법을 소개합니다.

1. JSoup 소개 및 기본 사용법

JSoup은 Java HTML 파서로, 개발자는 Maven을 통해 이를 프로젝트에 도입하고 다음 종속성을 추가할 수 있습니다.

<dependency>
    <groupId>org.jsoup</groupId>
    <artifactId>jsoup</artifactId>
    <version>1.14.2</version>
</dependency>

2.

JSoup을 사용하려면 먼저 HTML 페이지의 콘텐츠를 Document 개체로 구문 분석한 다음 이 개체를 사용하여 페이지의 다양한 요소를 가져와야 합니다. 다음은 JSoup의 기본 사용법 예입니다.

String url = "https://www.baidu.com/";
Document document = Jsoup.connect(url).get(); // 通过 URL 加载页面

// 获取页面标题
String title = document.title();

// 获取页面所有超链接
Elements links = document.select("a[href]");

// 循环遍历页面中的所有链接
for(Element link: links){
    String linkHref = link.attr("href");
    String linkText = link.text();
}

2. 웹 크롤링에 JSoup 사용

Document 对象,然后可以通过这个对象来获取页面中的各种元素。下面是JSoup的基本用法示例:

String url = "https://www.baidu.com/";
Document document = Jsoup.connect(url).get();

二、使用JSoup进行Web抓取

1.通过URL获取页面信息

使用JSoup的方法 connect(url).get() 可以通过指定的URL地址获取页面信息,如下所示:

Elements links = document.select("a[href]");

for(Element link: links){
    String linkHref = link.attr("href");
    String linkText = link.text();
    System.out.println(linkHref + " , " + linkText);
}

2.解析HTML元素

根据页面的结构,使用 select()1. URL을 통해 페이지 정보 얻기

    JSoup 메소드 connect(url).get() 사용 예 아래와 같이 지정된 URL 주소를 통해 페이지 정보를 얻습니다.
  1. Elements inputs = document.select("input[class=s_ipt]");
  2. 2. HTML 요소 구문 분석

페이지 구조에 따라 select() 메소드를 사용하여 필요한 정보를 빠르게 얻습니다. 강요. 다음은 JSoup을 사용하여 모든 링크를 가져오는 예입니다.

Element input = document.select("input[type=text").first();

input.attr("oninput", "console.log('input value has changed')");

Filtering

선택기 구문을 사용하면 페이지에서 지정된 조건을 충족하는 요소를 가져올 수 있습니다. 예를 들어, "s_ipt" 클래스가 있는 모든 입력 요소를 가져오려면 다음 코드를 사용하세요.

String url = "https://www.baidu.com/s";
String keyword = "Java";
Document document = Jsoup.connect(url)
                        .data("wd", keyword)
                        .post();

지원되는 선택기 구문에는 태그 선택기, 클래스 선택기, ID 선택기, 속성 선택기, 조합 선택기, 의사 선택기 장치 등도 포함됩니다.

4. 이벤트 처리

페이지의 이벤트는 JSoup을 통해 쉽게 처리할 수 있습니다. 예를 들어 다음 코드를 사용하여 필수 입력 요소를 가져오고 이벤트 리스너를 여기에 바인딩할 수 있습니다.

rrreee

5. 양식 제출

🎜JSoup도 양식 제출에 도움이 될 수 있습니다. 예를 들어 다음 코드를 사용하여 Baidu 검색창에 제출을 완료할 수 있습니다. 🎜rrreee🎜 3. 요약 🎜🎜이 기사에서는 JSoup을 웹 크롤링에 사용하는 방법과 JSoup의 기본 사용법을 소개합니다. JSoup을 사용하여 페이지 요소, 필터, 이벤트 핸들, 제출 양식 등을 쉽게 얻을 수 있습니다. 물론, JSoup을 사용할 때에는 관련 법규, 규정 및 윤리를 준수하도록 주의를 기울여야 하며, 불법적이고 징계적인 방법으로 타인의 정보를 취득할 수 없습니다. 🎜

위 내용은 Java API 개발에서 웹 스크래핑을 위해 JSoup 사용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.