发新话题 回复该主题

IFRAME问题,一般解决方案 [复制链接]

1#
IFRAME:IFRAME属于一种框中框,大家可以简单的理解为网页中的网页,文档中文档

现象:当一页网页里,存在IFRAME的时候,如果不告诉八爪鱼IFRAME的话,八爪鱼无法正确提取到数据。就好像字典A里面有个字,你直接查到时候无法查到,但是该字典本身含有并引用了别的字典B的内容,所以在八爪鱼内,如果存在IFRAME,你就必须
告诉八爪鱼,这个框架叫什么在哪里,截图如下:



这样就好比你在字典A里面查询时,引用了字典B里面的东西,就好像你告诉八爪鱼:嗨,八爪鱼,我要一个东西,他在//DIV[@class='SinglePage']/IFRAME[1]里,你去那里面给我找出来吧

如何判断一个内容是否是IFRAME呢,具体教程如下:
1.将网页用firefox火狐浏览器打开
2.将鼠标移动到所要提取或者建立循环的位置,右键
如果有框架,则显示如下:



如果没有框架则显示如下,其中不会含有“此框架”字眼,截图如下:



既然有框架,那么我们有以下两种解决方案,方案1:
1.拿到框架,然后再新标签中打开,具体截图如下:



这样就相当于我们跳过了字典A,直接拿到了字典B,此时我们将拿到的框架URL复制放入八爪鱼,就可以像其他网页一样进一步采集了,截图如下:



2.通过firepath用Xpath定位(如果对firepath不会使用,请点击此处的教程帖),找到框架的路径表达式,例如:



此时我们发现有4个IFRAME,然后像其他元素节点的路径表达式一样,我们找到他并且将其填入到如图所示部分即可正常提取数据,截图如下:

表达式://DIV[@class='SinglePage']/IFRAME[1]



点击保存我们会发现,数据已经提取出来了,截图如下:




以上是我们IFRAME问题,一般解决方案,如果有相关问题,可以在下方留言,八爪鱼技术支持团队会尽快回复~谢谢~

更多常见问题,请点击导航栏处“八爪鱼使用常见问题”,或者点击签名档处超链接
最后编辑dann*****2016 最后编辑于 2017-03-17 12:02:00
本主题由 版主 dann*****2016 于 2017/3/17 12:07:12 执行 主题置顶/取消 操作
分享 转发
如果论坛发帖后未得到及时响应,请点击论坛帮助板块寻求解决方案:http://bbs.bazhuayu.com/showtopic.aspx?topicid=2934
TOP
发新话题 回复该主题