我正在从网站解析一些表格,特别是我试图按类名提取以下单元格:
Elements e=d.select("span[class=bld lrg red]");
for (Element element : e) {
System.out.println(element.text());}
这段代码给了我一些价值,这些价值在网站上以Price的形式给出。但在某些情况下,我想从不同的类而不是"span[class=bld lrg red]"
中获取价格。
我的意思是“bld lrg red”类是空的然后我想从“span [class = price]”中取值
在这种情况下如何使用'或'...我的意思是如果“bld lrg red”类具有值,则取该价格或取“price”类值。
答案 0 :(得分:3)
您也可以使用regex
使用jsoup
从网页中选择所需的元素,您可以使用“OR”条件来指定您要查找的内容;
示例:
Elements e = d.select("span[class~=(?i)(bld lrg red|price)]");
上述正则表达式会选择span
元素,class
选择器直接匹配bld lrg red
或price
(不区分大小写)。
详情请参阅此处:http://jsoup.org/apidocs/org/jsoup/select/Selector.html
现在你可能想迭代元素并选择哪些不是空白,空,两者等等。
编辑:根据评论,price class
元素不会保留span
。要克服它,你可以使用:
Elements e = d.select("span[class=bld lrg red],del[class=price]");