java - 使用 Jsoup 获取特定类的所有 href 值

标签 java html parsing jsoup

我试图解析我的大学网站,从主网站获取新闻列表(标题+链接)。然而,当我试图解析一个完整的网站时,我正在寻找的链接嵌套在其他类、表等的深处。这是我尝试使用的代码:

String url = "http://www.portal.pwr.wroc.pl/index,241.dhtml";
    Document doc = Jsoup.connect(url).get();
    Elements links = doc.select("table.cwrapper .tbody .tr td.ccol2 div.cwrapper_padd div#box_main_page_news.cbox.grey div#dyn_main_news.cbox.padd2 div.nitem table.nitemt .tbody .tr td.nitemcell2 span.title_1");
    ArrayList <String> listOfLinks = new ArrayList <String> ();
    int counter = 0;


    for (Element link : links) {

        listOfLinks.add(link.text());

    }

但是这不起作用。是否有更好的方法来获取所有这些链接的 href 值和标题(如果每个链接都放置在:

)
<span class = "title_1">
    <a href="Link Adress">Link Title</a>
</span>

也许某种循环会迭代所有这些标签,并从中获取值?

感谢您的帮助:-)

最佳答案

您的主要问题是您正在查找的信息不存在于您正在使用的 URL 中,而是存在于 http://www.portal.pwr.wroc.pl/box_main_page_news,241.dhtml?limit=10 处。 .
您应该首先获得该页面,然后使用它(它是 Hovercraft 和 Andrei volgon 答案的组合) -

String url = "http://www.portal.pwr.wroc.pl/box_main_page_news,241.dhtml?limit=10";
String baseURL = "http://www.portal.pwr.wroc.pl/";
Document doc = Jsoup.connect(url).get();
Elements links = doc.select(".title_1 > a");
for (Element link : links) {
    System.out.println("Title - " + link.text());
    System.out.println(baseURL + link.attr("href"));
}

关于java - 使用 Jsoup 获取特定类的所有 href 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39302242/

相关文章:

java - 我的应用程序使用相机不记录纬度和经度(文件元数据)

java - 执行线程转储时的 VisualVM 堆栈变量值

java - 如何拆分和重新排列我的字符串?

php - 检索查询的最后两个字符串

c++ - 使用 Boost.Qi 实现递归语法

java - 如何在Java中从C文件中获取方法和参数的名称?

javascript - html 导入不起作用

javascript - 移动浏览器故障中的 CSS 自动溢出

javascript - 所有主流浏览器都支持 JSON.parse 吗?

javascript - 如何识别字符串中的第一个字符是否是Javascript中的数字