【问题标题】:Scraping Html with Attributes使用属性抓取 Html
【发布时间】:2012-12-22 17:45:41
【问题描述】:
<tr valign="middle" align="center"> 
<td><b>someNumbers</b></td>
<td width="22" height="22" background="..." class="SomeIntrestingClass">xxxxx</td>
<td width="22" height="22" background="..." class="SomeIntrestingClass">xgdsx</td> 
<td width="22" height="22" background="..." class="SomeIntrestingClass">xyzzx</td>
<td width="22">&nbsp;</td></tr>

我正在制作一个需要来自网站的数据的应用程序。我需要提取 'someNumbers' 中的值和 td ex:'xyzzx' 中的值...
我遇到的问题是 'someNumbers 没有类,所以我尝试使用
doc.getElementsByAttributeValue(key, value)
但文档的其他部分中的属性相同。如何使用 JSoup 或任何其他聪明的想法提取这些值?感谢您的建议。

【问题讨论】:

  • 能不能全选td,只得到文本内容?
  • 我只能选择 td 标签。但这将产生 1k 个结果,而我只使用 30% 的结果,“someNumbers”将很难区分。但我试试吧。

标签: java android html web-scraping jsoup


【解决方案1】:

Document.select(...); 这个方法的作用是,我们可以使用像 td.classtr td #id 这样的“css 选择器”,并且就像在 Jsoup 中的 article 中一样使用它们。

【讨论】:

    【解决方案2】:

    &lt;td[^&lt;]+?&gt;*&lt;/[^&lt;]+?&gt;将此作为正则表达式,并将其全部存储在一个数组中

    然后通过删除&lt;td[^&lt;]+?&gt; 和这个&lt;/[^&lt;]+?&gt; 来删除每一个。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多