我们一起来学习如何使用Spynner进行数据抓取

 

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

单数据抓取机顾名思义就是单进程的数据抓取形式,通常在数据不是很多的时候被应用

首先我们要介绍Spynner 

Spynner在抓取时可以出现一个浏览器,在浏览器中可以观察抓取过程的变化,Spynner还可以加载javascript生成的动态内容,然后抓取这部分的动态内容

Spynner其他功能与requests模块基本相同,除了上面的功能时spynner独有的

 

Spynner的官方开源地址  https://github.com/makinacorpus/spynner

Python数据挖掘_Python2模块Spynner的安装(安装失败) 人工智能 第1张

 

 安装spynner

在这里需要注意的是Spynner,目前是只支持python2的版本的,为了适应改变,我们暂时改用python2的环境

使用命令安装即可,如下图

Python数据挖掘_Python2模块Spynner的安装(安装失败) 人工智能 第2张

或者你也可以使用pycharm进行安装 

Python数据挖掘_Python2模块Spynner的安装(安装失败) 人工智能 第3张

 

Python数据挖掘_Python2模块Spynner的安装(安装失败) 人工智能 第4张

搜索安装即可

 

 

事实上并没有那么简单,我在安装时出现很多问题,每次都不能正常安装 

Python数据挖掘_Python2模块Spynner的安装(安装失败) 人工智能 第5张

  

 

Python数据挖掘_Python2模块Spynner的安装(安装失败) 人工智能 第6张

 

怎么弄都没有结果

 

 

之后选择去查看官方文档,一步一步的试,最后终于安装上了

 

首先我的电脑是Python2.7和Python3.6都安装上的,这个就要非常注意pip了

他决定你的模块是安装在哪个环境 

Python数据挖掘_Python2模块Spynner的安装(安装失败) 人工智能 第7张

 

通过对各版本号的对比,发现只有pip2是针对python2.7的

所以我们接下来的安装全部都是使用pip2

 

首先我们要安装Sip模块

Sip SIP是一种Python工具,用于自动生成Python与C、C++库的绑定。SIP最初是在1998年用PyQt开发的,用于Python与Qt GUI toolkit的绑定,但适用于生成任何C或C++库的绑定。

 Sip的官网  https://www.riverbankcomputing.com/software/sip/introPython数据挖掘_Python2模块Spynner的安装(安装失败) 人工智能 第8张

 

 

只有安装完Sip后才能继续下面的安装步骤

 

安装完后,我们就要开始安装PyQt,因为Spynner需要模拟浏览器的功能,所以我们要安装PyQt

PyQt中有非常强大的webkit,结合Spynner具有执行javascript的能力,而且Spynner是基于PyQt的,所以必须要安装PyQt

 

通过不断的尝试,用pip2去安装PyQt,但每次都提示没有找到这个模块 

Python数据挖掘_Python2模块Spynner的安装(安装失败) 人工智能 第9张

 

 这时,我通过搜索引擎,发现这些库都是不支持Python2的,这时真的是无语了

最后看到一篇文章,Python2的Qt的包名是叫 python-qt,仿佛黎明再现

最终使用这个命令安装上了支持python2的Pyqt支持库 

Python数据挖掘_Python2模块Spynner的安装(安装失败) 人工智能 第10张

但必须要吐槽,这安装也太慢了,

 

经过漫长的等待

 成功安装

Python数据挖掘_Python2模块Spynner的安装(安装失败) 人工智能 第11张

 

你以为就结束了吗,当然没有

然后我在去安装spynner

Python数据挖掘_Python2模块Spynner的安装(安装失败) 人工智能 第12张 

 

Python数据挖掘_Python2模块Spynner的安装(安装失败) 人工智能 第13张

报了一大堆的错,当然是安装失败了

 

继续解决问题

 

通过搜索发现是没有安装 libxml2 和 libxslt 两个库,安装上就行了。

为了方便,我们要通过brew安装以上两个库

在安装前我们先要安装Mac上的brew,运行一下命令即可成功安装brew

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Python数据挖掘_Python2模块Spynner的安装(安装失败) 人工智能 第14张

 

安装速度还是一如既往的慢

Python数据挖掘_Python2模块Spynner的安装(安装失败) 人工智能 第15张

最终安装成功 

Python数据挖掘_Python2模块Spynner的安装(安装失败) 人工智能 第16张

 

 然后我们通过brew来安装所需要的依赖文件

brew install libxml2 
brew install libxslt 
brew link libxml2 --force 
brew link libxslt --force 

 

作为以上步骤后,还要用pip安装下面一个依赖文件

pip2 install lxml 

Python数据挖掘_Python2模块Spynner的安装(安装失败) 人工智能 第17张

成功安装

 

然后我们再来运行命令安装spynner 

Python数据挖掘_Python2模块Spynner的安装(安装失败) 人工智能 第18张

 注意,需要用root权限运行上面的命令

 

 最后报错

Python数据挖掘_Python2模块Spynner的安装(安装失败) 人工智能 第19张

 

 

 

继续解决问题,通过搜索,发现是需要安装一个依赖库 libffi

运行一下命令

brew install libffi

 安装完后,我们继续来尝试安装命令

 

 

文章持续更新

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄