phantomjs 了解】的更多相关文章

概要 这篇博客是在上一篇博客Phantomjs+Nodejs+Mysql数据抓取(1.抓取数据) http://blog.csdn.net/jokerkon/article/details/50868880 后进行的第二部分,请各位读者在看这篇博客之前先浏览上一篇,因为这里面有部分代码会沿用到上一部分的抓取结果. 好,现在开始正式的抓取图片的讲解 首先,我们先来看看代码: var page =require('webpage').create(); var address='http://pro…
概要: 这篇博文主要讲一下如何使用Phantomjs进行数据抓取,这里面抓的网站是太平洋电脑网估价的内容.主要是对电脑笔记本以及他们的属性进行抓取,然后在使用nodejs进行下载图片和插入数据库操作. 先进行所有页面的内容进行抓取 var page =require('webpage').create(); var address='http://product.pconline.com.cn/server/'; var fs = require('fs'); var mypath = 'ver…
这是上半年遇到的一个小需求,想实现网页的抓取,并保存为图片.研究了不少工具,效果都不理想,不是显示太差了(Canvas.Html2Image.Cobra),就是性能不怎么样(如SWT的Brower).后发现无界面浏览器可以满足这个条件,大致研究了一下PhantomJS与CutyCapt,两者都是Webkit内核,其中PhantomJS使用上更方便一些,尤其在Windows平台上,如果在Linux下,从2.0版本后需要自己去机器上编译了(大概要编译3个小时,不得不说,g++就是个渣渣,同样的项目,…
1.安装phantomjs 网上有很多. 2.执行官网上的示例代码 // Read the Phantom webpage '#intro' element text using jQuery and "includeJs" "use strict"; var page = require('webpage').create(); page.onConsoleMessage = function(msg) { console.log(msg); }; page.op…
上一节中我们学习了selenium,用python来操作浏览器,在做网页自动化测试的时候最好不过了 .如果我们来做爬虫用一个带界面的浏览器似乎不太好吧,那可咋办呢?别着急,下来我们要介绍的就是一款不带界面的浏览器--PhantomJS.其是一个无界面的,可脚本编程的WebKit浏览器引擎,支持多种web 标准:DOM 操作,CSS选择器,JSON,Canvas 以及SVG. 这里可能会有人问:为什么要用浏览器来抓取页面数据,不用之前我们之前直接通过Urllib获取网页然后分析呢? 这是因为我们通…
应用背景: phantomjs的一个爬虫,访问https站点,单向认证(只认证服务器身份)的都可以,双向认证(服务器和客户端都需要认证)必须上传本地证书: 开始用一个包含公钥私钥的PEM证书访问,怎么都不行,必须要用拆成两个,把公钥和私钥拆开,用--ssl-certificates-path=<val>不行,注意路径 命令行: #用根证书已经签名过的客户端证书client.pfx,生成公钥 openssl pkcs12 -nokeys -clcerts -in client.pfx(*.p12…
一个获取供应商余额的项目中,使用了 selenium 来爬虫,原因是获取余额不用太频繁,对性能要求不高.第二是 selenium 更好应对各种页面. 项目中,selenium webdriver使用了全局变量,因为 想要避免重复打开.关闭 phantomJS 带来的损耗.(这个损耗到底有多大?)如果是 requests,我就是局部变量,觉得损耗不打,也更加灵活.引申出一个问题,如何 benchmark,应该是根据 benchmark来,而不仅仅是`感觉`. cookie 不用手动干预 遇到的问题…
关于PhantomJS PhantomJS 是一个基于WebKit的服务器端 JavaScript API.它全面支持web而不需浏览器支持,其快速,原生支持各种Web标准: DOM 处理, CSS 选择器, JSON, Canvas, 和 SVG.PhantomJS可以用于页面自动化,网络监测,网页截屏,以及无界面测试等. 我们还可以用它来做爬虫哦,大家知道,网页上有些数据是通过执行js渲染出来的,这样的话爬虫去抓取数据的时候就会很麻烦,PhantomJS自带WebKit内核,我们可以利用Ph…
之前使用 selenium + firefox驱动浏览器来实现爬取动态网址,但是firefox经常更新,更新后时常会导致webdriver启动不来,所以改用phantomjs+selenium来改善一下. 使用phantomjs和使用浏览器区别并不大. 一,首先还是需要下载Phantomjs Phantomjs对各个主流的平台都支持,下载页面.选择好存放的目录,例如D:\phantomjs. phantomjs的可执行文件就在bin目录下,可以将D:\phantomjs\bin目录加入环境变量中…
selenium模块主要用来做测试,模拟键盘.鼠标来操作浏览器. phantomjs 就像一个无界面的浏览器一样. 两个结合能很好的解决js抓取的问题. 测试代码: #coding=utf-8 from selenium import webdriver driver = webdriver.PhantomJS() #抓取百度搜索结果的相关链接 url = "http://www.baidu.com/s?wd=web&ie=utf-8&tn=baiduhome" dri…
PhantomJS 是一个基于 WebKit 的服务器端 JavaScript API.它全面支持web而不需浏览器支持,其快速,原生支持各种Web标准: DOM 处理, CSS 选择器, JSON, Canvas, 和 SVG. PhantomJS 可以用于 页面自动化 , 网络监测 , 网页截屏 ,以及 无界面测试 等. 我用的是网页截屏功能,下面是我操作过程中的安装步骤及网页截屏功能测试. 第一步:phantomjs安装debian和ubunto安装命令  sudo apt-get ins…
前不久项目组需要将测试相关的质量数据通过每日自动生成报表展示,并自动通过将报表作为邮件正文内容知会到干系人邮箱.那么问题来了,报表生成了,但是邮件怎么发送,因为highcharts等报表都是通过JS和HTML在前端浏览器进行渲染生成的,而最要命的是邮箱为了安全起见一般都不支持JS,所以就算后台计算出了报表所需的数据,但是也无法在邮件内容中生成报表. 后来想到phantomjs这个神器,它是一个基于webkit的内核浏览器,可以不弹出浏览器界面在内存中模拟打开网页,进而加载需要的东东(当然包括hi…
题记: 作为一个业余程序猿,最大的爱好就是电影和音乐了,听音乐当然要来点有档次的.落网的音乐的逼格有点高,一听听了10年.学习python一久了,于是想用python技术把落网的音乐爬下来随便听. 目的: 将每一期的落网音乐下载到电脑上. ===================================================================================== 版本一: 刚开始,学习了爬虫技术中的urllib,urllib2,httplib,然后学…
1.安装selenium pip/pip3 install selenium 注意依赖关系 2.phantomjs for windows 下载地址:http://phantomjs.org/download.html phantomjs-2.1.1-windows 仅支持64位系统 phantomjs-1.9.7-windows 支持32位系统,更早的版本没测试过 把下载好的安装包bin目录下的phantomjs.exe文件拷贝到python安装目录下的Scripts目录下 3.模拟浏览器操作…
1.下载phantomjs,并配置环境变量为   eg:E:\phantomjs-2.1.1-windows\bin 2.下载angular-seo-server 3.windows下:cmd eg:phantomjs --disk-cache=no D:\nginx-1.10.0\angular-seo-server.js 9090 http:127.0.0.1/fengdai_pc 4.git命令下:eg:curl 'http://localhost:9090/?_escaped_fragm…
今天将介绍一款自动化测试套件名叫nightmare,他是一个基于phantomjs的测试框架,一个基于phantomjs之上为测试应用封装的一套high level API.其API以goto, refresh, click, type…等简单的常用e2e测试动作封装,使得其语义清晰,简洁.其官方在http://www.nightmarejs.org/. 如果你的项目测试不需要想需求和测试人员理解,那么基于nightmare测试或许是一个好的选择,你的降低测试代码的成本,以及测试套件的部署.我们…
最近在node.js项目开发中,遇见生成PDF的需求,当然生成PDF不是一个新意的需求:我可以选择利用开源的pdfkit或者其他node pdf模块,或者通过edge.js调用.net/python下的pdf库去做生成pdf.但是在我看来对于这些东西不管如何也需要花费我们太多的时间(pdf报表的内容报表很复杂),不如把所有的画图实现逻辑推向大家所熟悉的html+css来的简洁,快速,这样对于pdf格式变化和图形计算逻辑的变化推到ejs.jade之类的模板引擎,对于以后的修改维护扩展是个很不错的选…
项目背景 最近忙着给部门开发一套交互式的报表系统,来替换原有的静态报表系统. 老系统是基于dotnetCHARTING开发的,dotnetCHARTING的优势是图表类型丰富,接口调用简单,使用时只需绑定数据源即可(指定连接字符和sql语句,简单的配置一下就能出图),支持生成静态图表图片:缺点就是生成好的图是图片,传到了前台就失去了交互性(当然它还提供了一个jsCharting,不过感觉交互性做的还是不够好),再有就是这东东是收费的呀,用的话需要折腾破解版本. 我最终选择了Highcharts(…
近来研究了下phantomjs,只是初涉,还谈不上深入研究,首先介绍下什么是phantomjs. 官网上的介绍是:”PhantomJS is a headless WebKit scriptable with a JavaScript API. It has fast and native support for various web standards: DOM handling, CSS selector, JSON, Canvas, and SVG.”翻译过来就是:”PhantomJS…
有些网站反爬虫技术设计的非常好,很难采用WebClient等技术进行网页信息爬取,这时可以考虑采用selenium+phantomJS模拟浏览器(其实是真实的浏览器)的方式进行信息爬取.之前一直使用的selenium操作Firefox浏览器进行爬取,但是需要安装并打开firefox浏览器,实际操作中不方便配置且占用大量内存.今日发现网上介绍可以采用phantomJS(无界面浏览器),经测试,果然可以达到目的,只是会出现一个控制台,并不影响整体效果,所以将其记录下来,以方便以后使用. 第一步:下载…
本文简要介绍了PhantomJS的相关基础知识点,主要包括PhantomJS的介绍.下载与安装.HelloWorld程序.核心模块介绍等.由于鄙人才疏学浅,难免有疏漏之处,欢迎指正交流. 1.PhantomJS是什么? PhantomJS是一个基于webkit的JavaScript API.它使用QtWebKit作为它核心浏览器的功能,使用webkit来编译解释执行JavaScript代码.任何你可以在基于webkit浏览器做的事情,它都能做到.它不仅是个隐形的浏览器,提供了诸如CSS选择器.支…
Horseman 是一个 Node.js 模块,让你可以更轻松的使用 PhantomJS 进行功能测试,页面自动机,网络监控,屏幕捕获等.它提供了直接,链式的 API,易于理解的控制流,避免回调陷阱. 官方网站      GitHub 您可能感兴趣的相关文章 网站开发中很有用的 jQuery 效果[附源码] 分享35个让人惊讶的 CSS3 动画效果演示 十分惊艳的8个 HTML5 & JavaScript 特效 Web 开发中很实用的10个效果[源码下载] 12款经典的白富美型 jQuery 图…
最近在做一些公司其他部门系统的后台模拟操作,但由于那边的系统最开始是外包给其他公司开发的,现在那边的开发也不知道有些post的参数是如何生成的.于是想考察下是不是可以把phantomjs这个工具给加进来避开后台的模拟操作. 做了个oschina模拟登录的例子,找到了phantomjs的api,直接开干就行了.(在这里省略了一个步骤,就是cookie值不是js打印的,而是我直接手动登录后提取的) 脚本如下: var page = require('webpage').create(), syste…
有时,我们需要浏览器处理网页,但并不需要浏览,比如生成网页的截图.抓取网页数据等操作.PhantomJS的功能,就是提供一个浏览器环境的命令行接口,你可以把它看作一个“虚拟浏览器”,除了不能浏览,其他与正常浏览器一样.它的内核是WebKit引擎,不提供图形界面,只能在命令行下使用,我们可以用它完成一些特殊的用途. PhantomJS是二进制程序,需要安装后使用.使用下面的命令,查看是否安装成功. phantomjs --version REPL环境 phantomjs提供了一个完整的REPL环境…
安装步骤 # 安装依赖软件 yum -y install wget fontconfig # 下载PhantomJS wget -P /tmp/ https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-i686.tar.bz2 # 解压 tar xjf /tmp/phantomjs-2.1.1-linux-i686.tar.bz2 -C /usr/local/ # 重命名 mv /usr/local/phanto…
from selenium import webdriver from selenium.webdriver.common.desired_capabilities import DesiredCapabilities #设置浏览器请求头 dcap = dict(DesiredCapabilities.PHANTOMJS) dcap["phantomjs.page.settings.userAgent"] =( "Mozilla/5.0 (Linux; Android 5.1…
环境准备 1. 安装python: 2. 安装pip: 3. 通过pip安装selenium: 4. 下载phantomJS的包并解压缩: 1. 若在Windows系统中,将下载的phantomjs文件夹下bin文件夹下的phantomjs.exe文件复制粘贴到python文件夹的scripts目录下(当然也可以在程序中动态的为webdriver.PhantomJS("指定phantomjs.exe文件路径")): 2. 若在Mac系统中,将下载的phantomjs文件夹下bin文件夹…
phantomjs是一个无界面浏览器,可用于网页截图和前端自动化测试,基于webkit内核(也就是chrome使用的内核),并使用js编写业务脚本来请求.浏览和操作页面.最近前端监控需要用到phantomjs,特地研究了一下这个组件,遇到几个坑,这里汇总起来,希望对大家尤其是刚入门者有所帮助. 1.如何操作页面中的DOM元素? 这个问题比较简单,官方API提供了page.evaluate函数,范例代码: page.evaluate(function() { var plist = documen…
Selenium 一.简介 selenium是一个用于Web应用自动化程序测试的工具,测试直接运行在浏览器中,就像真正的用户在操作一样 selenium2支持通过驱动真实浏览器(FirfoxDriver,IternetExplorerDriver,OperaDriver,ChromeDriver) selenium2支持通过驱动无界面浏览器(HtmlUnit,PhantomJs) 二.安装 Windows 第一种方法是:下载源码安装,下载地址(https://pypi.python.org/py…
最近在使用Python爬取网页内容时,总是遇到JS临时加载.动态获取网页信息的困难.例如爬取CSDN下载资源评论.搜狐图片中的“原图”等,此时尝试学习Phantomjs和CasperJS来解决这个问题.这第一篇文章当然就是安装过程及入门介绍. 一. 安装Phantomjs 下载地址:http://phantomjs.org/         官网介绍:          PhantomJS is a headless WebKit scriptable with a JavaScript API…