为了账号安全,请及时绑定邮箱和手机立即绑定

如何将 Jsoup 输出存储在 ArrayList 中?

如何将 Jsoup 输出存储在 ArrayList 中?

蝴蝶不菲 2023-06-14 14:18:17
我用 Jsoup 解析了一个网站并提取了链接。现在我试图将该链接的一部分存储在 ArrayList 中。不知何故我不能一次存储一个链接。我尝试了几种 String 方法, Scanner 和 BufferedReader 但没有成功。import java.io.IOException;import java.util.ArrayList;import java.util.List;import org.jsoup.Jsoup;import org.jsoup.nodes.Document;import org.jsoup.nodes.Element;public class DatenImportUnternehmen {public static void main(String[] args) throws IOException {    ArrayList<String> aktien = new ArrayList<String>();    String searchUrl = "https://www.ariva.de/aktiensuche/_result_table.m";    for(int i = 0; i < 1; i++) {        String searchBody = "page=" + Integer.toString(i) +     "&page_size=25&sort=ariva_name&sort_d=asc     &ariva_performance_1_year=_&ariva_per     formance_3_years=&ariva_performance_5_years=     &index=0&founding_year=&land=0&ind     ustrial_sector=0&sector=0&currency=0     &type_of_share=0&year=_all_years&sales=_&p     rofit_loss=&sum_assets=&sum_liabilities=     &number_of_shares=&earnings_per_share=     &dividend_per_share=&turnover_per_share=     &book_value_per_share=&cashflow_per_sh     are=&balance_sheet_total_per_share=     &number_of_employees=&turnover_per_employee     =_&profit_per_employee=&kgv=_&kuv=_&kbv=_&dividend     _yield=_&return_on_sales=_";    // post request to search URL    Document document =     Jsoup.connect(searchUrl).requestBody(searchBody).post();    // find links in returned HTML    for(Element link:document.select("a[href]")) {        String link1 = link.toString();        String link2 = link1.substring(link1.indexOf('/'));        String link3 = link2.substring(0, link2.indexOf('"'));        aktien.add(link3);        System.out.println(aktien);    }    }}}                             我想要实现的是:[/1-1_drillisch-aktie][/11_88_0_solutions-aktie][/1st_red-aktie][/21st-_cent-_fox_b_new-aktie]等等。我只是不知道现阶段的问题是什么。
查看完整描述

1 回答

?
慕田峪7331174

TA贡献1828条经验 获得超13个赞

你的问题是你在打印数组的同时在循环中添加它。


要解决此问题,您可以在数组外部打印数组以一次性打印所有内容,或者您可以打印link3(这是您要添加到 ArrayList 的内容),而不是循环中的数组。


选项1:


for(Element link:document.select("a[href]")) {

    String link1 = link.toString();

    String link2 = link1.substring(link1.indexOf('/'));

    String link3 = link2.substring(0, link2.indexOf('"'));


    aktien.add(link3);

}

System.out.println(aktien);

选项 2:


for(Element link:document.select("a[href]")) {

    String link1 = link.toString();

    String link2 = link1.substring(link1.indexOf('/'));

    String link3 = link2.substring(0, link2.indexOf('"'));


    aktien.add(link3);

    System.out.println(link3);

}


查看完整回答
反对 回复 2023-06-14
  • 1 回答
  • 0 关注
  • 108 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信