1. 为什么不能用XPath抓取SELECT的被选项 相比于正则表达式,XPath在抓取网页内容上更加易用,GooSeeker网络爬虫整个都采用XPath表达式来提取信息。但是有些HTML动作控件的内容用XPath抓取不到,例如,下拉菜单SELECT选中的OPTION是哪个?这个信息抓取不到,假设你编写了一个XPath://select[@class='selectMonth']/option[@selected='true'] ,这个XPath是无效的。如果目标网页上的下拉菜单确实设置了一个缺省选中的OPTION,那只是缺省情况,不代表动态情况。 原因很简单:XPath可以抓取html属性值(attribute),但是不能抓取特性值(property)。 2. GooSeeker在抓取结果文件中保存选中项值 要抓取选中项的值,必须为这个下拉菜单定义一个连续动作,那么DS打数机就能记录下来当前动作做到哪一个OPTION了。下图是一个文件样例。 在文件前部增加了两个标签,用于记录动作循环次数actionno和动作施加点的值actionvalue,数值之间用-+-来间隔开。
上图可以看出,定义了6层动作,第2和第3层动作分别选择年份和月份,而且已经选择到1960年4月。解析这两个字段的时候,识别-+-符号就能分割成相应层次动作的执行次数。如果动作类型是输入,当用户输入的字符串含有+号时,DS打数机就会自动再增加一个+号,所以,解析结果的时候要注意转义处理。 3. 相关资料 3.1 连续动作概念、场景和使用方法 3.2 返回目录-> |
qq763343617: 没看懂
suhlwook: 能不能做下拉菜单视频教程啊, 比如<a href="http://shouji.tenaa.com.cn/" target="_blank">http://shouji.tenaa.com.cn/</a> 这样的网站。