我们在写蓝天采集器规则的时候有时候回遇到网页中有不固定元素列表,我们该如何来写xpath规则呢,往下看。
不固定元素列表,是一种模糊定位方式,以解决部分网页列表元素不是固定数目,例如部分网页第一页存在同类元素7个、第二页存在同类元素15个
示例:
<a class='test' value='1'>
<a class='test' value='2'>
<a class='test' value='3'>
//a[@class='test'] 就可以直接把这三个a标签都包含进去
如下图所示(群友提供):
//p[@class="selectionshareable"] 是不是很简单呢
认识XPath的结构
先自己自动生成几个XPath,看一下XPath结构有什么规律。几个示例XPath:
.//*[@id='subject_list']/ul/li[1]
//*[@id='c02']/ul/li/a
html/body//li[@class='next']/a[1]
是的,XPath通过HTML标签和属性查找数据:
标签:html body ul li div p a ......
连接标签的符号:/ //
属性和属性值:[@id='subject_list'] [@class='next']
弄清楚HTML标签、属性及其组合规律,是学会写一条正确XPath的关键。