Python爬虫利器四PhantomJS的用法

大家有没有发现之前我们写的爬虫都有一个共性,就是只能爬取单纯的 html 代码,如果页面是 JS 渲染的该怎么办呢?如果我们单纯去分析一个个后台的请求,手动去摸索 JS 渲染的到的一些结果,那简直没天理了。所以,我们需要有一些好用的工具来帮助我们像浏览器一样渲染 JS 处理的页面。 其中有一个比较常用的工具,那就是 PhantomJS

Full web stack No browser required
PhantomJS is a headless WebKit scriptable with a JavaScript API. It has fast andnative support for various web standards: DOM handling, CSS selector, JSON, Canvas, and SVG.

PhantomJS 是一个无界面的,可脚本编程的 WebKit 浏览器引擎。它原生支持多种 web 标准:DOM 操作,CSS 选择器,JSON,Canvas 以及 SVG。 好,接下来我们就一起来了解一下这个神奇好用的库的用法吧。

安装

PhantomJS 安装方法有两种,一种是下载源码之后自己来编译,另一种是直接下载编译好的二进制文件。然而自己编译需要的时间太长,而且需要挺多的磁盘空间。官方推荐直接下载二进制文件然后安装。 大家可以依照自己的开发平台选择不同的包进行下载 下载地址 当然如果你不嫌麻烦,可以选择 下载源码 然后自己编译。 目前(2016/3/21)最新发行版本是 v2.1, 安装完成之后命令行输入

phantomjs -v

如果正常显示版本号,那么证明安装成功了。如果提示错误,那么请重新安装。 本文介绍大部分内容来自于官方文档,博主对其进行了整理,学习更多请参考 官方文档

第一个程序

http://cuiqingcai.com/2577.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/402180.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从零开始学习Hadoop--第1章 Hadoop的安装

Hadoop的安装比较繁琐,有如下几个原因:其一,Hadoop有非常多的版本;其二,官方文档不尽详细,有时候更新脱节,Hadoop发展的太快了;其三,网上流传的各种文档,或者…

vim使用—实现程序的自动补齐(C语言)

使用过Source Insight的人一定对它的自动补全功能印象深刻,在很多的集成开发环境中,也都支持自动补全。vim做为一个出色的编辑器,这样的功能当然少不了。至于如何实现程序自动补全,网上教程很多。这里,我将自己配置过程…

8、JDBC入门整理

JDBC入门 l 导jar包:驱动! l 加载驱动类:Class.forName(“类名”); l 给出url、username、password, l 使用DriverManager类来得到Connection对象! 1 什么是JDBC(接口,实现为驱动) JDBC(Java DataBase…

Python 爬虫利器二之 Beautiful Soup 的用法

上一节我们介绍了正则表达式,它的内容其实还是蛮多的,如果一个正则匹配稍有差池,那可能程序就处在永久的循环之中,而且有的小伙伴们也对写正则表达式的写法用得不熟练,没关系,我们还有一个更强大的工具&…

[C#]Attribute特性(3)——AttributeUsage特性和特性标识符

相关文章 [C#]Attribute特性 [C#]Attribute特性(2)——方法的特性及特性参数 AttributeUsage特性 除了可以定制自己的特性来注释常用的C#类型外,您可以用AttributeUsage特性来定义您想怎样使用这些特性。AttributeUsage特性采用如下的调用惯例: 1 [Attri…

Linux 命令 ——less命令

less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看,但若使用了 less …

Python 爬虫利器三之 Xpath 语法与 lxml 库的用法

原文链接https://cuiqingcai.com/2621.html 前言 前面我们介绍了 BeautifulSoup 的用法,这个已经是非常强大的库了,不过还有一些比较流行的解析库,例如 lxml,使用的是 Xpath 语法,同样是效率比较高的解析方法。如果大…

android闹钟实现原理

闹钟的原理可用下面我自己画的一幅图来概括:(不对的地方,尽管吐槽) 我们来看看新建闹钟到闹钟响铃的步骤: 1、新建一个闹钟: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22…

将openstack的Token认证信息存储在memcache中

公司线上的openstack环境运行了5个多月的时间,keystone库的token表已经增长到了31GB,这个数据量还是很大的,对于以后的数据库备份很不方便。每次管理openstack的时候,都会产生一个新的token验证,而历史token信息其实都…

Linux 下shell编程

什么是shell?Shell是一个命令解析器,是介于Linux操作系统的内核(kernel)与用户之间的一个绝缘层。shell脚本就是讲各类命令预先放入其中,方便一次性执行的一个程序文件,主要用于方便管理员进行设置或者管理。 序员的角度来看, Sh…

lxml学习【未完成】

链接 https://www.jianshu.com/p/e084c2b2b66d 官方教程

构建之法第四章--两人合作

两人合作 这一章主要讲述代码规范,极限编程,结对编程,两人合作的不同阶段,影响他人的技巧。 这一章主要介绍代码的规范和代码复审,这个也是我们在编码过程中需要注意的,这样既可以方便别人,也方…

Linux环境变量的设置和查看

环境变量一般是指在操作系统中用来指定操作系统运行环境的一些参数,比如临时文件夹位置和系统文件夹位置等等。 一、Linux的变量种类 按变量的生存周期来划分,Linux变量可分为两类: 1、永久的:需要修改配置文件,变量永…

datastage 重启 续

在重启DS时,不少人肯定会说,一定要在重启之前确认没有人连接DS了。但有时会忘的。虽然说,等一些时间,系统可能会释放死进程,但也有可能,不会。而重启服务器,对于生产系统,可不是那么…

Python urllib、urllib2、urllib3

相关链接: 《Python urllib、urllib2、urllib3用法及区别》 《urllib2库.官方文档翻译》 《urllib3官方文档》 《urllib3的基本用法》 《详解 python3 urllib》

linux 目录/sys 解析

今天学习Linux目录时,遇到/sys这个目录,老师怎么讲的,不太清楚,先对/sys目录知识进行一个整理 首先,对 /sys目录下的各个子目录进行具体说明: /sys下的子目录 内容 /sys/devices 该目录下…

南下事业篇——深圳 深圳(回顾)

2019独角兽企业重金招聘Python工程师标准>>> 二0一二年三月二十三号记录了下面的一篇日志,现在回味一下觉得自己有点惭愧,但不后悔,知道的越多就越了解自己的无知,工作之后渐渐磨灭了许多锐气,变得平滑低调…

php中花括号的使用

一、界定变量名 注:花括号内若左侧出现空格,则会当做普通花括号来解析。 二、界定表达式 1.获取字符串中某个字符 如:$strabcdefg; echo $str{0};//a 效果等同于$str[0]; 2.作为表示下标的方法定义数组 如:$arr []; $arr{10}4;…

Linux目录/bin、/sbin、/usr/bin、/usr/sbin的区别

/bin、/sbin、/usr/bin、/usr/sbin目录的区别在linux下我们经常用到的四个应用程序的目录是/bin、/sbin、/usr/bin、/usr/sbin 。而四者存放的文件一般如下:/bin: bin为binary的简写主要放置一些系统的必备执行档例如:cat、cp、chmod df、dmesg、gzip、kill、ls、mk…

游戏开发--开源软件8--cyclone2D(手机引擎+设计工具)

2019独角兽企业重金招聘Python工程师标准>>> Cyclone2D (飓风软件)是集成的手机游戏设计工具以及开源的引擎,工具提供了强大的动画、地图、数值、脚本等设计功能,开源引擎提供了一体化的模块加载与管理,并提供了详细的API文档以及…