十二 28

无头浏览器 PhantomJS

无头浏览器(Headless browser)指没有用户图形界面的(GUI)的浏览器,目前广泛运用于web爬虫和自动化测试中。随着反爬虫和反反爬虫对抗技术的升级,越来越多的爬虫开始使用无头浏览器伪装成正常用户绕过反爬虫策略。

我们如何区分这些无头浏览器和正常浏览器?从Server Side分析用户行为进行检测是一劳永逸的方法,但成本和难度都很大。

不过通过无头浏览器的一些特性。我们也可以从从Client Side找出一些不同来。下面以醉受欢迎的PhantomJS(2.x版本)为例,介绍一些识别的方法,对于其他的无头浏览器,如Slimer JS这些方法也可以参考

Continue reading

十一 22

为nodejs模块PhantomJS配置代理

为nodejs模块PhantomJS配置代理

PhantomJS模块配置代理方案一:

PhantomJS模块配置代理方案二: Continue reading

十一 22

使用nodejs模块PhantomJS制作爬虫之我们必须要懂的

使用nodejs模块PhantomJS进行页面自动化,因为PhantomJS可以加载和操纵网页,所以执行各种页面自动化任务是完美的。

DOM操作

由于脚本的执行就像在Web浏览器上运行一样,因此标准的DOM脚本CSS选择器可以正常工作。

以下useragent.js示例演示如何读取idtextContent的元素属性qua Continue reading

十一 22

nodejs模块 – phantomjs的简单爬虫应用实例

nodejs模块 – phantomjs的简单爬虫应用实例

PhantomJS是一个可以用JavaScript编写脚本的无头web浏览器。它可以在Windows、macOS、Linux和FreeBSD上运行。
它使用QtWebKit作为后端,为各种web标准(DOM处理、CSS选择器、JSON、Canvas和SVG)提供快速和本机支持。

安装phantomjs

安装Cheerio, Cheerio是一个服务器端基本实现Jquery核心功能的一个库

Continue reading