Hướng dẫn how to parse html file in java without jsoup - cách phân tích cú pháp tệp html trong java mà không cần jsoup

1

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Tôi cần phải phân tích thông qua và tệp HTML cho một dự án bài tập về nhà, và do đó tôi không thể sử dụng JSOUP.

Tôi đã thử bò qua tệp, nhưng tôi không biết cách lưu những gì tôi đang tìm kiếm.

Đây là những gì tôi có:

    FileInputStream fis = new FileInputStream(filename);
    InputStreamReader inStream = new InputStreamReader(fis);
    BufferedReader reader = new BufferedReader(inStream);

    String fileLine;
    while((fileLine = reader.readLine()) != null){

        String tag = fileLine.substring(fileLine.indexOf("<") + 1,fileLine.indexOf(">"))
    }

Tôi cần tìm thông tin bên trong tiêu đề> Thẻ, nhưng tôi không thể tìm ra cách lấy thông tin đó mà không cần thẻ tôi không cần hoặc cách xử lý các trường hợp không có thẻ.

Tôi muốn lấy thông tin trong thẻ tiêu đề và biến nó thành một chuỗi mà tôi có thể sử dụng.

Hỏi ngày 8 tháng 4 năm 2019 lúc 17:54Apr 8, 2019 at 17:54

Hướng dẫn how to parse html file in java without jsoup - cách phân tích cú pháp tệp html trong java mà không cần jsoup

Newarsenicnewarsenicnewarsenic

Huy hiệu 1211 Bạc11 Huy hiệu Đồng1 silver badge11 bronze badges

1

String fileDataString = Files.readAllLines(Paths.get(fileName), Charset.forName("UTF-8")).stream().collect(Collectors.joining("\n"));

String title = StringUtils.substringBetween(fileDataString, "<title>", "</title>"));

This should work to get the text between < title > and < /title >

Chỉnh sửa: Cảm ơn bạn Blackpearl vì đề xuất Stream<String>.collect(Collectors.joining("\n"));

Đã trả lời ngày 8 tháng 4 năm 2019 lúc 18:16Apr 8, 2019 at 18:16

Hướng dẫn how to parse html file in java without jsoup - cách phân tích cú pháp tệp html trong java mà không cần jsoup

3

[JAVA]

Làm việc trên một bài tập về nhà trong đó chúng tôi phải chọn văn bản từ các thẻ HTML bên trong và thay thế văn bản đó bằng văn bản khác nhau để tạo tệp HTML mới. Tôi đang cố gắng tìm kiếm bộ não của mình về cách xử lý việc này với String, StringBuilder, v.v. Bắt đầu thẻ trên một dòng và kết thúc thẻ trên khác). Mỗi tìm kiếm trên Google tôi đã thực hiện để thử và nhận được một gợi ý về cách đi về điều này đề cập đến tôi với JSOUP, điều mà tôi không thể sử dụng vì tôi chỉ sử dụng Java thuần túy.

Tôi không yêu cầu một giải pháp tổng thể vì điều đó sẽ đánh bại mục đích của tôi để học một cái gì đó, nhưng có gợi ý ai đó có thể cho tôi đặt tôi đi đúng hướng không? Không có thư viện của bên thứ ba, có cảm giác như tôi phải viết một trình phân tích cú pháp HTML hoàn toàn đầy đủ của mình, có vẻ như quá mức cần thiết so với kỳ vọng của bài tập. Cảm ơn một tấn cho bất kỳ hướng dẫn mà bất cứ ai cũng có thể cung cấp.

JSOUP là một thư viện Java để làm việc với HTML trong thế giới thực. Nó cung cấp một API rất thuận tiện để tìm nạp các URL và trích xuất và thao tác dữ liệu, sử dụng các phương thức tốt nhất của các phương thức HTML5 DOM và CSS. is a Java library for working with real-world HTML. It provides a very convenient API for fetching URLs and extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors.

JSOUP thực hiện đặc tả WhatWG HTML5 và phân tích cú pháp HTML cho cùng một DOM như trình duyệt hiện đại. implements the WHATWG HTML5 specification, and parses HTML to the same DOM as modern browsers do.

  • Scrape và Parse HTML từ URL, Tệp hoặc Chuỗi
  • Tìm và trích xuất dữ liệu, sử dụng bộ chọn DOM Traversal hoặc CSS
  • Thao tác các phần tử, thuộc tính và văn bản HTML
  • Làm sạch nội dung do người dùng gửi chống lại Safelist, để ngăn chặn các cuộc tấn công XSS
  • Đầu ra HTML gọn gàng

JSOUP được thiết kế để đối phó với tất cả các loại HTML được tìm thấy trong tự nhiên; từ nguyên sơ và xác thực, đến thẻ không hợp lệ; JSOUP sẽ tạo ra một cây phân tích hợp lý.

Thí dụ

Tìm nạp trang chủ Wikipedia, phân tích nó vào một DOM và chọn các tiêu đề từ phần in & nbsp; The & nbsp; tin tức vào một danh sách các yếu tố (mẫu trực tuyến, nguồn đầy đủ):

Document doc = Jsoup.connect("https://en.wikipedia.org/").get();
log(doc.title());
Elements newsHeadlines = doc.select("#mp-itn b a");
for (Element headline : newsHeadlines) {
  log("%s\n\t%s", 
    headline.attr("title"), headline.absUrl("href"));
}

Mã nguồn mở

JSOUP là một dự án nguồn mở được phân phối theo giấy phép tự do MIT. Mã nguồn có sẵn tại GitHub.

Bắt đầu

  1. Tải xuống JSOUP JAR (phiên bản 1.15.3) the jsoup jar (version 1.15.3)
  2. Đọc phần giới thiệu sách nấu ăn
  3. Enjoy!

Phát triển và hỗ trợ

Nếu bạn có bất kỳ câu hỏi nào về cách sử dụng JSOUP hoặc có ý tưởng để phát triển trong tương lai, vui lòng liên lạc thông qua một trong các phương pháp thảo luận.

Nếu bạn tìm thấy bất kỳ vấn đề nào, vui lòng nộp lỗi sau khi kiểm tra các bản sao.

Colophon nói về lịch sử và các công cụ được sử dụng để xây dựng JSOUP.

Sự phát triển của JSOUP xảy ra trên GitHub. Ở đó bạn có thể thấy những thay đổi mới nhất và lấy nguồn để xây dựng một phiên bản chưa phát hành.

Trạng thái

JSOUP đang phát hành chung.

Làm thế nào để bạn phân tích phản hồi HTML trong Java?

JSOUP có thể phân tích các tệp HTML, luồng đầu vào, URL hoặc thậm chí các chuỗi. Nó giúp trích xuất dữ liệu từ HTML bằng cách cung cấp các phương thức truyền tải mô hình đối tượng (DOM) và các bộ chọn giống như CSS và jQuery. JSOUP có thể thao tác nội dung: chính phần tử HTML, thuộc tính của nó hoặc văn bản của nó.. It eases data extraction from HTML by offering Document Object Model (DOM) traversal methods and CSS and jQuery-like selectors. jsoup can manipulate the content: the HTML element itself, its attributes, or its text.

Làm thế nào đọc tệp HTML cục bộ trong Java?

Tải một tài liệu từ một tập tin..
Vấn đề. Bạn có một tệp trên đĩa chứa HTML, mà bạn muốn tải và phân tích, sau đó có thể thao tác hoặc trích xuất dữ liệu từ ..
Dung dịch. Sử dụng jsoup.parse (file in, string charsetName, chuỗi baseURI): file input = file new ("/tmp/input.html"); ....
Description..

Jsoup có phải là thư viện không?

JSOUP là một thư viện Java để làm việc với HTML trong thế giới thực. Nó cung cấp một API rất thuận tiện để tìm nạp các URL và trích xuất và thao tác dữ liệu, sử dụng các phương thức tốt nhất của các phương thức HTML5 DOM và CSS. JSOUP thực hiện đặc tả WhatWG HTML5 và phân tích cú pháp HTML cho cùng một DOM như trình duyệt hiện đại. for working with real-world HTML. It provides a very convenient API for fetching URLs and extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors. jsoup implements the WHATWG HTML5 specification, and parses HTML to the same DOM as modern browsers do.

Làm cách nào để thêm mã HTML vào tệp Java?

Làm thế nào để tạo một trình soạn thảo HTML trong Java..
Nhập một số gói swing và AWT như sau: ....
Bây giờ tạo một lớp mở rộng JPanel và thực hiện ActionListener.....
Bây giờ tạo một hàm tạo để khởi tạo các thành phần của Swing và HTML.....
Bây giờ hãy tạo một sự kiện ActionPerformed hoạt động trên nút của chúng tôi "bấm để thay đổi" ..