通过href值选择文本

时间:2014-04-20 01:40:35

标签: jsoup

我对使用Jsoup和Java进行html解析有点怀疑。

考虑这个html部分

<a href="/path/page1.html">Page1</a>
<a href="/joe/jeo.html">joe</a>
<a href="/path/page2.html">Page2</a>
<a href="/harry/harry.html">harry</a>
<a href="/mike/mike.html">mike</a>
<a href="/path/page3.html">Page3</a>

我需要使用Jsoup提取Page1,Page2和Page3。 页面唯一的共同点是href值中的“path”。 任何人都知道如何通过href值中的“包含”来选择文本?

谢谢!

1 个答案:

答案 0 :(得分:0)

在选择器上使用正则表达式:

doc.select("a[href~=(?i)(path)]");

试试这个:

Document doc;
         String userAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:28.0) Gecko/20100101 Firefox/28.0";
        try {

            // need http protocol
            doc = Jsoup.connect("http://domain.tld/page.html").userAgent(userAgent).get();


            Elements links = doc.select("a[href~=(?i)(path)]");
            for (Element link: links ) {


                System.out.println("\nLink with path: " + link.toString());

            }

        } catch (IOException e) {
            e.printStackTrace();
        }