zoukankan      html  css  js  c++  java
  • Python数据挖掘_Python2模块Spynner的安装(安装失败)

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

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

    首先我们要介绍Spynner 

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

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

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

     安装spynner

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

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

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

    搜索安装即可

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

      

    怎么弄都没有结果

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

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

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

    通过对各版本号的对比,发现只有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/intro

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

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

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

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

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

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

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

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

    经过漫长的等待

     成功安装

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

    然后我在去安装spynner

     

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

    继续解决问题

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

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

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

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

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

    最终安装成功 

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

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

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

    pip2 install lxml 

    成功安装

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

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

     最后报错

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

    运行一下命令

    brew install libffi
    

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

    文章持续更新

  • 相关阅读:
    1082 射击比赛 (20 分)
    1091 N-自守数 (15 分)
    1064 朋友数 (20 分)
    1031 查验身份证 (15 分)
    1028 人口普查 (20 分)
    1059 C语言竞赛 (20 分)
    1083 是否存在相等的差 (20 分)
    1077 互评成绩计算 (20 分)
    792. 高精度减法
    791. 高精度加法
  • 原文地址:https://www.cnblogs.com/susmote/p/8907031.html
Copyright © 2011-2022 走看看