【技术分享】浅谈动态爬虫与去重 |
您所在的位置:网站首页 › python爬取知网学者画像 › 【技术分享】浅谈动态爬虫与去重 |
【技术分享】浅谈动态爬虫与去重 阅读量436821 |评论1 | 发布时间 : 2017-01-10 16:15:17 x译文声明本文是翻译文章,文章来源:安全客 译文仅供参考,具体内容表达以及含义原文为准。 作者:Fr1day@0keeTeam 预估稿费:600RMB(不服你也来投稿啊!) 投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿 0x01 简介 随着Web 2.0的发展,页面中的AJAX也越来越多。由于传统爬虫依靠静态分析,不能准确的抓取到页面中的AJAX请求以及动态更新的内容,已经越来越不能满足需求。基于动态解析的Web 2.0爬虫应运而生,通过浏览器内核解析页面源码,模拟用户操作,能有效解决上述问题。本文将详细分析利用PhantomJS + Python 编写爬虫并进行去重的思路。 0x02 PhantomJS PhantomJS 是无界面的 Webkit 解析器,提供了 JavaScript API 。由于去除了可视化界面,速度比一般 Webkit 浏览器要快很多。同时提供了很多监控和事件接口,可以方便的操作 DOM 节点,模拟用户操作等。 接下来我们通过一个简单的例子,来展示下动态爬虫和传统爬虫的区别。目标:加载一个页面(那么,一起玩吧),并且获取其中所有的标签。 // example.js var page = require('webpage').create(); page.onAlert = function (message) { console.log(message); return true; }; page.onCallback = function() { page.evaluate(function(){ atags = document.getElementsByTagName("a"); for(var i=0;i+17赞收藏![]() ![]() |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |