java - 从本地 HTML 页面抓取 Android 应用程序的数据

标签 java android android-studio web-scraping jsoup

我正在尝试为 Android 的时间表应用程序收集数据信息。 html 看起来像这样:

      <td   bgcolor='#C0C0C0' colspan='1'><font color='#FFFFFF'>9:00</font></td>     
      <td   bgcolor='#C0C0C0' colspan='1'><font color='#FFFFFF'>9:15</font></td>
      <td   bgcolor='#C0C0C0' colspan='1'><font color='#FFFFFF'>9:30</font></td>

还有这样的:

     <td align='left'><font color='#FF0000'>Mobility</font></td>
     </tr>
     </table>
     <table  cellspacing='0' border='0' width='100%'>
     <col align='left' />
     <col align='right' />
     <tr>
     <td align='left'><font color='#000000'>P2016</font></td>
     <td align='right'><font color='#008000'>E.Palin</font></td>
     </tr>
     </table>
     <table  cellspacing='0' border='0' width='100%'>
     <col align='left' />
     <tr>
     <td align='left'><font color='#000080'>22-29, 32-36</font></td>
     </tr>
     </table>

我在 android studio 中使用 java 和 jsoup,我想知道如何在代码方面明智地抓取它,以便我可以获得不同的时间和“Mobility”、“P2016”、“E.Palin”和“22” -29、32-36"出现在我的申请中?

最佳答案

首先,您的 HTML 格式不正确或者它只是一个示例?

Estivate你可以这样写 JSoup 查询:

    File input = new File("C:\\path\\to\\html.html");

    Document document= Jsoup.parse(input , "UTF-8", "/");

    EstivateMapper mapper = new EstivateMapper();
    Result result = mapper.map(document, Result.class);

结果类为:

    public class Result {

       @Text(select = "font:matchesOwn(.*:.*)")
       public List<String> times;

       @Text(select = "font:not(:matchesOwn(.*:.*))")
       public List<String> others;

    }

您将获得 2 个列表: times=[9:00, 9:15, 9:30], others=[Mobility, P2016, E.Palin, 22-29, 32-36]

关于java - 从本地 HTML 页面抓取 Android 应用程序的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36333383/

相关文章:

java - Java 字符只有 7 位?

android - fragment 中的 ListView 无法保存滚动位置

java - Facebook Android SDK 的 key 哈希

android - 在 android studio 中导入项目时出错?

java - 创建多个对象以实现 Spring Boot 最佳实践

java - 如何为 JTable 列添加 JXDatepicker

java - 迭代文件中的行并在每行末尾添加空值

java - 以编程方式更改图层列表资源内形状的填充值

Android Studio 未将更改部署到应用程序

android - 找不到方法'org.gradle.api.tasks.compile.CompileOptions