XPath語法在簡數(shù)采集器中是定位獲取頁面HTML標(biāo)簽或者標(biāo)簽中的內(nèi)容。(需要懂點(diǎn)HTML代碼知識(shí),重點(diǎn)看第4和第5章)
例子:/html/body/p/a
上面xpath路徑意思是獲取html標(biāo)簽下的子標(biāo)簽body,body下的子標(biāo)簽p,p下的子標(biāo)簽a,獲取結(jié)果是對應(yīng)下圖的第10行a標(biāo)簽;
例子:/html/body/p//a
上面xpath路徑意思是獲取html標(biāo)簽下的子標(biāo)簽body,body下的子標(biāo)簽p,p下的所有標(biāo)簽a,獲取結(jié)果是對應(yīng)下圖的第10行和12行的a標(biāo)簽;
例子:/html/body/p/a[2]
上面xpath路徑意思是獲取html標(biāo)簽下的子標(biāo)簽body,body下的子標(biāo)簽p,p下的第二個(gè)標(biāo)簽a,獲取結(jié)果是對應(yīng)下圖的第11行的a標(biāo)簽;
@后面常填寫id或者class屬性,若能在頁面找到對應(yīng)的id屬性更好,因?yàn)閕d屬性在頁面是唯一的值,即一個(gè)id值只能出現(xiàn)一次;
例子://*[@id="main"]
上面xpath路徑意思是獲取頁面中id屬性值為main的標(biāo)簽,不管嵌套關(guān)系了,直接定位到對應(yīng)屬性值的標(biāo)簽,十分快捷方便,獲取結(jié)果是對應(yīng)下圖的第14行的a標(biāo)簽;
如果不用屬性來定位,就得寫成 /html/body/div/p/a ;
大部分爬蟲都是使用xpath作為規(guī)則提取,屬于通用規(guī)則,市面大部分采集器都支持xpath。