java - 使用 jsoup 获取表跨度类内容

标签 java android html jsoup

我有一个网站,其中包含一个与此类似(更大..)的表格:

</table>    
<tr>
    <td>
        <table width="100%" cellspacing="-1" cellpadding="0" border="0" dir="rtl" style="padding-top: 25px;">
            <tr>
                <td align="right" style="padding-right: 25px;">
                    <span class="artist_name_txt">
                            <a href="/namelink">name</a>
                            <p class="diccografia">subname</p>
                            </span>
                </td>
            </tr>
        </table>
    </td>
</tr>

<tr>
    <td>
        <table width="100%" border="0" cellspacing="0" cellpadding="0" dir="rtl" style="padding-right: 25px; padding-left: 25px">

                <tr>
                        <td class="songs" align="right">

                                <a href="/number1link" class="artist_player_songlist">  number1</a>

                            </td>
                    </tr>
                <tr>
                        <td class="songs" align="right">

                                <a href="/number2link" class="artist_player_songlist">number2</a>


.......
            </td>   
        </tr>
</table>

我需要一个想法,如何解析网站并将该表提取到 2 个数组中 -

  • 其中一个类似于名称{number1, number2}
  • 第二个是链接{number1link, number2link}

我尝试了很多方法,但没有什么能真正帮助我。

最佳答案

您应该阅读JSoup Cookbook - 尤其是Selector syntax非常强大。

这是一个例子:

final String html = ...
// use connect().get() instead if you connect to an website
Document doc = Jsoup.parse(html); 
List<String> names = new ArrayList<>();
List<String> links = new ArrayList<>();

for( Element element : doc.select("a.artist_player_songlist") )
{
    names.add(element.text());
    links.add(element.attr("href"));
}

System.out.println("Names: " + names);
System.out.println("Links: " + links);

输出:

Names: [number1, number2]  
Links: [/number1link, /number2link]
<小时/>

关于java - 使用 jsoup 获取表跨度类内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30175332/

相关文章:

php - 在与表单相同的模式窗口中加载 php 成功消息

java - 在 Java 中快速实现端口转发

java - Switch 语句中的 PowerMockito 枚举抛出 NPE

java - 检索太多行后,Asynctask 不起作用

javascript - 多个图像的 context.drawImage 最终导致 FireFox 崩溃

javascript - 为此选项卡式 angularjs 页面加载 html 页面

java - 实际的非 Maven Java Jar 依赖项

Java String.replaceAll() 正则表达式的行为不符合预期,我做错了什么?

java - 从 adb shell 运行基于 android java 的命令行实用程序

android - 我可以使按钮显示为禁用状态并仍然监听点击吗?