我需要从网页中提取一个值。该值是每次访问页面时生成的随机数。我不会发布整页源,但包含该值的字符串是:
<span class="label label-info pull-right">Expecting 937117</span>
“937117”是我在这之后的价值。感谢
更新
这是我到目前为止所得到的:
Document doc = Jsoup.connect("www.mywebsite.com).get();
Elements value = doc.select("*what do I put in here?*");
System.out.println(value);
答案 0 :(得分:0)
你能不能使用javascript正则表达式语法?如果您知道您感兴趣的元素,请将其从jsoup中提取为字符串$ stuff,然后执行 $ stuff.match(/期待(\ d *)/)[1]
答案 1 :(得分:0)
以下代码段中清楚地描述了所有内容。我在里面创建了一个带有类似SPAN标签的HTML文件。使用Document.select()选择具有您想要的特定类名的元素。
import java.io.File;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Entities.EscapeMode;
import org.jsoup.select.Elements;
public static void main(String[] args) {
String sourceDir = "C:/Users/admin/Desktop/test.html";
test(sourceDir);
}
private static void test(String htmlFile) {
File input = null;
Document doc = null;
Elements classEles = null;
try {
input = new File(htmlFile);
doc = Jsoup.parse(input, "ASCII", "");
doc.outputSettings().charset("ASCII");
doc.outputSettings().escapeMode(EscapeMode.base);
/** Find all SPAN element with matched CLASS name **/
classEles = doc.select("span.label.label-info.pull-right");
if (classEles.size() > 0) {
String number = classEles.get(0).text();
System.out.println("number: " + number);
}
else {
System.out.println("No SPAN element found with class label label-info pull-right.");
}
} catch (Exception e) {
e.printStackTrace();
}
}
答案 2 :(得分:0)
public void yourMethod() {
try {
Document doc = connect("http://google.com").userAgent("Mozilla").get();
Elements value = doc.select("span.label label-info pull-right");
} catch (IOException e) {
e.printStackTrace();
}
}