如何抓取Js动态生成数据且以滚动页面方式分页的网页
2015-10-14 08:55
627 查看
http://my.oschina.net/apdplat/blog/516848当我们在进行数据抓取的时候,如果目标网站是以Js的方式动态生成数据且以滚动页面的方式进行分页,那么我们该如何抓取呢?如类似今日头条这样的网站:http://toutiao.com/我们可以使用Selenium来搞定这件事情。Selenium的设计目的虽然是用于Web应用程序的自动化测试,但是却非常适合用来做数据抓取,可以非常简单地绕过网站的反爬虫限制,因为Selenium直接运行在浏览器中,就像真正的用户在操作一样。使用Selenium,我们不但可以抓取Js动态生成数据的网页,而且可以抓取以滚动页面方式分页的网页。首先,我们使用maven引入Selenium依赖:?
接下来就可以写代码抓取了:?
代码也可以从我的开源项目HtmlExtractor中获取。这里我们共抓取了6页,每页20条新闻,共120条新闻,代码运行结果如下:?
相关文章推荐
- javascript与常用正则表达式
- js 一张图说明了
- 黄聪:JS实现复制到剪贴板功能,兼容所有浏览器(转)
- Jsoup获取全国地区数据(省市县镇村)
- Ember.js 入门指南——action触发变化
- javascript 变量的作用范围
- js基本属性介绍
- js基础
- JS调试方法
- jsp实现将动态网页转换成静态页面的方法
- smartcrop.js智能图片裁剪库
- JavaScript实现的伸展收缩型菜单代码
- JS仿淘宝实现的简单滑动门效果代码
- JS实现的最简Table选项卡效果
- JavaScript+CSS实现仿Mootools竖排弹性动画菜单效果
- JS更改select内option属性的方法
- JS简单限制textarea内输入字符数量的方法
- js获取当天和当天以后的两个礼拜的日期以及日期对应的星期几
- Ember.js 入门指南——action触发变化
- grunt和seajs的打包初体验