在webmagic中主要使用了三種抽取技術:Xpath、正則表達式和CSS選擇器。另外對JSON格式的內容可以使用JsonPath進行解析
-
Xpath:詳情了解查看w3cschool
下面是一個例子,獲取屬性class=mt的div標簽,里面的h1標簽的內容
page.getHtml().Xpath("//div[@class=mt]/h1/text()")
-
CSS選擇器
CSS選擇器是與Xpath相似的語言,在前面的博客中已經總結了Jsoup的選擇器,它比Xpath要簡單一些,但是寫復雜一點的抽取規則,就相對要麻煩一些
div.mt>h1表示class為mt的div標簽下的直接子元素h1標簽
page.getHtml().css("div.mt h1").toString();
可是使用:nth-child(n)選擇第幾個元素,如下選擇第一個元素
page.getHtml().css("div#news_div>ul>li:nth-child(1) a").toString();
注意:需要使用>,就是直接子元素才可以選擇第幾個元素
-
正則表達式