Java代码优化(jsoup)

标签 java optimization jsoup

有没有一种有效的方法来优化这段代码,因为它的大部分看起来都是相同的,我刚刚开始学习jsoup,不知道如何真正做到这一点://

Document doc = Jsoup.connect("http://www.blocket.se/hela_sverige/bilar?ca=11&cg=1020&w=3&md=th").get();

Elements partOne = doc.select("a[title=Flera bilder]");
for (Element element : partOne) {
    String myElementOne = element.attr("abs:href");
    System.out.println(myElementOne);

}
Elements partTwo = doc.select("a[title=\"\"]");
for (Element element : partTwo) {
    String myElementTwo = element.attr("abs:href");
    System.out.println(myElementTwo);

}
Elements partThree = doc.select("a[title=Bild]");
for (Element element : partThree) {
    String myElementThree = element.attr("abs:href");
    System.out.println(myElementThree);

}

最佳答案

partOnepartTwopartThree block 基本相同;只需用变量替换所有参数差异并提取到方法:

void someMethodName(Document doc, String selector) {
  Elements partOne = doc.select(selector);
  for (Element element : partOne) {
    String myElementOne = element.attr("abs:href");
    System.out.println(myElementOne);
  }
}

调用示例:

someMethodName(doc, "a[title=Flera bilder]");

或者,如果您有权访问 Guava:

Iterable<Element> it = Iterables.concat(
    doc.select("a[title=Flera bilder]"),
    doc.select("a[title=\"\"]"),
    doc.select("a[title=Bild]"));
for (Element element : it) {
  String myElement = element.attr("abs:href");
  System.out.println(myElement);
}

关于Java代码优化(jsoup),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35480730/

相关文章:

python - 我必须将 Pandas DataFrame 每一行的数据与其余行的数据进行比较,有没有办法加快计算速度?

python - 在 Python 中的一组许多 "range"对象中搜索值的最快方法是什么

php - 如何在 Android 中使用 Jsoup 进行解析?

java - 使用 jsoup 替换 HTML 标签

java - 输出 JSoup,元素周围不添加空格和换行符

java - 我找不到 "java.lang.StringIndexOutOfBoundsException"错误的原因

java - 对数组列表中的元素进行总计

java - 如何将对象类型作为参数传递给构造函数并将变量转换为它(JAVA)?

java - 测试在 TestFX 上通过,但在 headless 模式下未通过

python - NSP 中最小化的绝对差