针对模板页面的数据爬虫实现方法探讨
2013-03-18 11:35
363 查看
最近研究了一下爬虫的相关内容,在实际爬取过程中,遇到了一类比较棘手的页面样式。
首先,该爬取对象是采用模板页面,没有提供api接口,所以无法直接访问。
其次,只需要爬取页面中某一标签的数据,例如地址等,但是该页面采取脚本写入的方式来添加数据,即原始下载的页面中直接写的是函数,需要JS执行后才能显示正常数据。
例如:
由于标签中的数据需要执行结果,这样,通过正则的数据获取无法得到真正需要的数据。
经过研究,我们最后采用了脚本注入的方式来进行数据的爬取,方法虽然有点慢和繁琐,但是可以满足当前的数据获取需求。
步骤:
1.建立后台数据爬去页面,主要通过HTTP爬去模板页面,然后进行脚本注入,爬去页面执行后的
首先,该爬取对象是采用模板页面,没有提供api接口,所以无法直接访问。
其次,只需要爬取页面中某一标签的数据,例如地址等,但是该页面采取脚本写入的方式来添加数据,即原始下载的页面中直接写的是函数,需要JS执行后才能显示正常数据。
例如:
<script> <!-- function test(){ var a,b,c a='\u4e1c\u57ce' b='\u88571' a+='\u533a\u4e1c\u957f' b+='6\u53f7' c='\u5b89' document.write(a+c+b) } test() //--> </script>
由于标签中的数据需要执行结果,这样,通过正则的数据获取无法得到真正需要的数据。
经过研究,我们最后采用了脚本注入的方式来进行数据的爬取,方法虽然有点慢和繁琐,但是可以满足当前的数据获取需求。
步骤:
1.建立后台数据爬去页面,主要通过HTTP爬去模板页面,然后进行脚本注入,爬去页面执行后的
相关文章推荐
- php实现refresh刷新页面批量导入数据的方法
- 模板方法模式实现探讨
- Angularjs实现页面模板清除的方法
- 应用层针对数据切片的实现方法
- Nodejs 实现爬虫的改造:Promise优化、动态页面数据的获取、多个页面并发爬取
- php 爬虫的简单实现, 获取整个页面, 再把页面的数据导入本地的文件当中
- StoryBoard实现的页面跳转以及数据传递的方法
- ASP.NET中实现页面间数据传递的方法
- MVC4中AJAX Html页面打开调用后台方法实现动态加载数据库中的数据
- ASP.NET中实现页面间数据传递的方法
- 页面向下滚动ajax获取数据的实现方法(兼容手机)
- ASP.NET中用javascript实现页面间传递数据的方法
- Ajax获取数据然后显示在页面的实现方法
- 验证用户是否修改过页面的数据的实现方法
- 在ASP.NET这实现Web页面间数据传递的方法
- 设计模式实践-反射到所有接口实现类实践工厂方法,页面中有大量计算数据时设计实践
- iOS 编辑页面的实现方法,从一个页面跳转(push)到下一页面时怎么传递数据
- 微信小程序自定义组件的实现方法及自定义组件与页面间的数据传递问题
- iOS 编辑页面的实现方法,从一个页面跳转(push)到下一页面时怎么传递数据
- 用sessionStorage实现页面之间的数据传输 存取方法