【可视化爬虫】scrapinghub 可视化抓取 portia环境搭建全过程

【可视化爬虫】scrapinghub 可视化抓取 portia环境搭建全过程文章目录scrapinghub可视化抓取portia环境搭建全过程一、install_deps:安装系统级依赖二、install_splash:安装splash三、install_python_deps:安装python依赖四、安装ember.js五、安装并配置nginx六、ember.js依赖安装scrapinghub可视化抓取portia环境搭建全过程一、insta…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

一、 install_deps:安装系统级依赖

【Ubuntu环境】

  • curl: Get a file from an HTTP, HTTPS or FTP server
  • libxml2-dev: Development files for the GNOME XML library
  • libxslt-dev:
  • libgl1-mesa-dev: free implementation of the OpenGL API – GLX development files
  • libgl1-mesa-glx: free implementation of the OpenGL API – GLX runtime
  • libglapi-mesa: free implementation of the GL API – shared library
  • libgl1-mesa-dri: free implementation of the OpenGL API – DRI modules
  • nginx: small, but very powerful and efficient web server and mail proxy
  • python-dev: header files and a static library for Python (default)
  • python-mysql.connector: pure Python implementation of MySQL Client/Server protocol
  • python-numpy: Numerical Python adds a fast array facility to the Python language
  • python-openssl: Python wrapper around the OpenSSL library
  • python-pip: alternative Python package installer
  • python-software-properties: manage the repositories that you install software from

【CentOS环境】
http://centos-packages.com/7m

  • yum groupinstall “C Development Tools and Libraries”
  • yum groupinstall ‘Development Tools’
  • yum install python-devel
  • yum安装:
    • curl
    • libxml2, libxml2-devel
    • libxslt, libxslt-devel
    • mesa-libGL-devel: Mesa libGL development package
    • mesa-libGL: Mesa libGL runtime libraries and DRI drivers
    • mesa-libglapi: Mesa shared glapi
    • mesa-dri-drivers: Mesa-based DRI drivers
    • nginx
    • MySQL-python, mysql-connector-*
    • numpy
      • 用yum安装可自动安装依赖blas,lapack,atlas,python-nose
    • openssl, openssl-devel
    • python-devel
    • bzip2 bzip2-devel
  • 安装python2.7时
    • 路径设置
      • /usr/local/python/Python-2.7.10 安装目录
      • /usr/local/python/2.7.10/lib 生成库目录
    • https://github.com/docker-library/python/issues/21
    • ./configure –enable-unicode=ucs4 –enable-shared –prefix=/usr/local/python/2.7.10 LDFLAGS=”-Wl,-rpath /usr/local/python/2.7.10/lib”
    • make
    • make altinstall
    • cd /usr/bin
    • ln -fs python2.7 python (原python2.7.5)
    • ln -fs /usr/local/python/2.7.10/bin/python2.7 python2.7.10 (当前python2.7.10)
    • ln -fs python2.7.10 python2 (当前python2.7.10)
  • 安装setuptool, pip, virtualenv, virtualenvwrapper,并设置/etc/profile,然后创建一个python虚拟环境
  • 创建python虚拟环境:py2_portia
    • mkvirtualenv -p python2.7.10 py2_portia
    • workon py2_portia

二、 install_splash: 安装splash

– install_builddeps()

【Ubuntu环境】

  • python3-dev: header files and a static library for Python (default)
  • python3-pip: alternative Python package installer – Python 3 version of the package
  • build-essential: Informational list of build-essential packages
  • libre2-dev: efficient, principled regular expression library, development kit
  • liblua5.2-dev: Development files for the Lua language version 5.2
  • libsqlite3-dev: SQLite 3 development file
  • zlib1g-dev: compression library – development
  • libjpeg-turbo8-dev: Development files for the IJG JPEG library
  • libgl1-mesa-dev: free implementation of the OpenGL API – GLX development files
  • libglu1-mesa-dev: Mesa OpenGL utility library – development files
  • mesa-common-dev: Developer documentation for Mesa

【CentOS环境】

  • yum install python34-devel
  • yum install python34-setuptools
  • easy_install-3.4 pip
  • 安装re2, re2-devel
    • yumdownloader –urls re2 re2-devel
    • 得到两个urls
    • wget …
    • rpm -ivh …
  • yum install lua lua-devel ???
  • yum install sqlite sqlite-devel
  • yum install zlib zlib-devel
  • yum install libjpeg-turbo-devel
  • yum install mesa-*
    • yum install mesa-libGLU mesa-libGLU-devel
  • yum install libffi libffi-devel

– install_deps()

【Ubuntu环境】
*
|「netbase: Basic TCP/IP networking system

  • ca-certificates: Common CA certificates
  • xvfb: Virtual Framebuffer ‘fake’ X server
  • pkg-config: manage compile and link flags for libraries
  • python3
  • qt55base
  • qt55webkit
  • qt55svg
  • libre2
  • libicu52 (libicu55: International Components for Unicode)
  • liblua5.2-0
  • zlib1g

【CentOS环境】

  • yum install ca-certificates
  • yum install xorg-x11-server-Xvfb
  • yum install pkgconfig
  • yum install python34
  • yum install qt5-qt* (时间过长)或者只安装:
    • yum install qt5-qtbase qt5-qtbase-devel
    • yum install qt5-qtwebkit qt5-qtwebkit-devel
    • yum install qt5-qtsvg qt5-qtsvg-devel
  • yum install libicu

– install_pyqt5()

  • 安装sip
    • cd sip-4.18.1
    • 【Python2】
    • 【Python3】
  • 安装Qt5
    • ./qt-opensource-linux-x64-5.4.0.run
    • 指定安装目录: /opt/qt54
    • 设置环境变量: vim /etc/profile
      • QTDIR=/opt/qt54/Tools/QtCreator
      • QMAKEDIR=/opt/qt54/5.4/gcc_64/bin
      • PATH= Q M A K E D I R : QMAKEDIR: QMAKEDIR:QTDIR/bin:$PATH
      • MANPATH= Q T D I R / m a n : QTDIR/man: QTDIR/man:MANPATH
      • LD_LIBRARY_PATH= Q T D I R / l i b : QTDIR/lib: QTDIR/lib:LD_LIBRARY_PATH
      • export QTDIR MANPATH PATH LD_LIBRARY_PATH
    • source /etc/profile
  • 安装PyQt5
    • cd PyQt5_gpl-5.7
    • 【Python2】
    • 【Python3】
      • python configure.py -c –qmake /opt/qt57/5.7/gcc_64/bin/qmake –verbose –confirm-license –no-designer-plugin -e QtCore -e QtGui -e QtWidgets -e QtNetwork -e QtWebKit -e QtWebKitWidgets -e QtSvg -e QtPrintSupport
      • make
      • make install
  • 安装lua 5.3.3
    • tar zxvf lua-5.3.3.tar.gz
    • cd lua-5.3.3
    • make clean
    • make linux
    • make install
  • 安装lupa
    • tar zxvf lupa-1.3.tar.gz
    • cd lupa-1.3
    • tar zxvf LuaJIT-2.0.4.tar.gz
    • cd LuaJIT-2.0.4/
    • make clean
    • make CFLAGS=-fPIC
    • cd …
    • python setup.py install

– install_python_deps()

  • 【Python2】
    • pip install –upgrade pip
    • pip install six (当前最新版本==1.10.1)
    • pip install qt5reactor (当前最新版本==0.3)
    • pip install psutil (当前最新版本4.3.0,保守4.1.0)
    • pip install Twisted16.1.1 (当前最新版本16.4.0,保守==16.1.1)
    • pip install adblockparser (当前最新版本==0.5)
    • pip install xvfbwrapper (当前最新版本==0.2.8)
    • pip install funcparserlib (当前最新版本==0.3.6)
    • pip install Pillow (当前最新版本3.3.1,保守3.3.0)
    • pip install lupa (当前最新版本==1.3)
    • 安装python-re2
      • git clone git://github.com/axiak/pyre2.git
      • cd pyre2
      • python setup.py install

– requirements-dev.txt

  • 【Python2】
    • pip install pytest (当前最新版本==3.0.1)
    • pip install pyOpenSSL (当前最新版本==16.1.0)
    • pip install cryptography (当前最新版本==1.5)
    • pip install requests (当前最新版本==2.11.1)
    • pip install jsonschema(当前最新版本==2.5.1)
    • pip install strict-rfc3339(当前最新版本==0.7)
    • pip install jupyter_kernel_test(当前最新版本==0.2.2)
    • pip install nose(当前最新版本==1.3.7)
    • pip install ipython[notebook](ipython当前最新版本5.1.0, notebook当前最新版本4.2.2)
    • pip install service-identity (当前最新版本==16.0.0)

– splash源码
cd /root/git
pip install -e splash

三、 install_python_deps:安装python依赖

  • 【slyd/requirements.txt】
    • pip install six (已装)
    • pip install twisted (已装,当前最新版本16.4.0,保守15.4.0)
    • pip install service-identity (已装,当前最新版本=16.0.0,保守==14.0.0)
    • pip install requests (当前最新版本2.11.1,保守2.7.0)
    • pip install autobahn0.10.4(当前最新版本0.16.0,保守==0.10.4)
    • pip install chardet (当前最新版本==2.3.0)
    • pip install monotonic (当前最新版本1.2,保守0.3)
    • pip install parse (当前最新版本==1.6.6)
    • pip install ndg-httpsclient (当前最新版本0.4.2,保守0.4.0)
    • Dulwich’s MySQL backend
    • Splash dev
      • 先把setup.py中的Twisted后面的版本要求注释掉
      • pip install -e /root/git/splash
    • pip install -e /root/git/portia/slyd
  • 【slybot/requirements.txt】
    • pip install scrapy (当前最新版本1.1.2,保守1.1.0)
    • pip install scrapely (当前最新版本==0.12.0)
    • pip install loginform (当前最新版本1.2.0,保守1.0)
    • pip install lxml (当前最新版本3.6.4,保守3.6.0)
    • pip install dateparser (当前最新版本0.4.0,保守0.3.5)
    • pip install python-dateutil (当前最新版本2.5.3,保守2.4.2)
    • pip install jsonschema (当前最新版本2.5.1,保守2.4.0)
    • pip install six (当前最新版本==1.10.0)
    • pip install scrapyjs (当前最新版本0.2,保守0.1.1)
    • pip install page_finder (当前最新版本==0.1.2)
    • pip install page_clustering (当前最新版本==0.0.1)
    • pip install -e /root/git/portia/slybot

四、 安装ember.js

  • 安装node.js
    • 下载https://nodejs.org/dist/v4.5.0/node-v4.5.0-linux-x64.tar.xz
    • 解压压缩包
    • 复制到cp -r node-v4.5.0-linux-x64 /usr/local/node
    • 配置环境变量 vi /etc/profile
      • 在文件最后添加export PATH=”/usr/local/node/bin:$PATH”
      • source /etc/profile
    • 输入node -v 和 npm -v检测是否安装成功
  • 更新npm
    • npm install npm -g
  • 安装bower
    • npm install bower -g
  • 安装ember.js
    • npm install -g ember-cli
  • 初始化portia/slyd
    • npm install
    • bower install

五、 安装并配置nginx

使用已安装的Python,创建python虚拟环境:py2_portia_nui

  • mkvirtualenv -p python2.7.10 py2_portia_nui
  • workon py2_portia_nui

portia/provision.sh

  1. install_deps:安装系统级依赖
  • yum install python-devel
  • yum install curl
  • yum install libxml2 libxml2-devel
  • yum install libxslt libxslt-devel
  • yum install mesa-*
  • yum install mysql mysql-devel mysql-libs
  • yum install nginx
  • yum install MySQL-python mysql-connector-*
  • yum install numpy
  • yum install openssl openssl-devel pyOpenSSL
  1. install_splash: 安装splash
    同上

  2. install_python_deps:安装python依赖

  • 【slyd/requirements.txt】
    • pip install six (已装,当前最新版本1.10.1,保守1.10.0) #python2和python3的兼容
    • pip install twisted16.1.1 (已装,当前最新版本16.4.0,保守==16.1.1)
    • pip install service-identity (已装,当前最新版本=16.0.0) #pyopenssl ->secure sockets layer
    • pip install requests (已装,当前最新版本2.11.1,保守2.9.1)
    • pip install autobahn0.13.0(当前最新版本0.16.0,保守==0.13.0) #WebSocket client & server library, WAMP real-time framework
    • pip install chardet (当前最新版本==2.3.0) #Universal encoding detector for Python 2 and 3
    • pip install marshmallow2.8.0 (当前最新版本2.10.0,保守==2.8.0) #serializer
    • pip install marshmallow_jsonapi (当前最新版本0.8.0,保守0.8.0) #jsonapi serializer
    • pip install parse (当前最新版本==1.6.6) #format的反过程
    • pip install ndg-httpsclient (当前最新版本0.4.2,保守0.4.0) #enhanced HTTPS support for httplib and urllib
    • pip install retrying (当前最新版本1.3.3,保守1.3.3) # retry装饰器,可以指定时间多次执行函数
    • pip install django1.9.4 (当前最新版本1.10.1,保守==1.9.4)
    • pip install toposort (当前最新版本1.4,保守1.4) #Implements a topological sort algorithm.
    • pip install mock (当前最新版本2.0.0,保守2.0.0) #using for test
    • Dulwich’s MySQL backend
      • pip install mysql-python==1.2.5
      • pip install dulwich==0.13.0
    • pip install portia2code==0.0.6 #portia产生的json转换为scrape的spider
    • pip install -e /root/git/portia_nui/slyd
  • 【slybot/requirements.txt】
    • pip install scrapy (当前最新版本1.1.2,保守1.1.0)
    • pip install scrapely (当前最新版本==0.12.0)
    • pip install loginform (当前最新版本1.2.0,保守1.0)
    • pip install lxml (当前最新版本3.6.4,保守3.6.0)
    • pip install dateparser (当前最新版本0.4.0,保守0.3.5)
    • pip install python-dateutil2.4.2 (当前最新版本2.5.3,保守==2.4.2)
    • pip install jsonschema (已装)
    • pip install six (已装)
    • pip install scrapyjs (当前最新版本0.2,保守0.1.1) #JavaScript support for Scrapy using Splash
    • pip install page_finder (当前最新版本==0.1.2)
    • pip install page_clustering (当前最新版本==0.0.1) #Online k-means clustering of web pages
    • pip install -e /root/git/portia_nui/slybot

六、 ember.js依赖安装

  • cd /root/git/portia/portiaui
  • npm install
  • cd node_modules/ember-cli
  • npm install
  • cd …/…
  • bower install
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/234473.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Maven根据Profiled读取不同配置文件

    Maven根据Profiled读取不同配置文件 前言在日常开发中,我们大多都会有开发环境(dev)、测试环境(test)、生产环境(prod),不同环境的参数肯定不一样,我们需要在打包的时候,不同环境打不同当包,如果手动改,一方面效率低,容易出错,而且每次打包都改动,非常麻烦,所以Maven给我们提供了profile的配置。 正文Mavenresourcesplugin支持明确声明<directory>指定…

  • RC522(RFID模块)实践总结

    此次使用RC522模块和S50卡实现近场通讯功能(开发板与RC522通讯方式为硬件SPI),就实践过程中的一些知识点进行总结:RC522模块和M1卡要点介绍;驱动代码;出现问题及解决方法;1.RC522模块和M1卡要点介绍:MFRC522简化功能框图;MFRC522与主机SPI通讯引脚配置;MFRC522与M1卡的通讯原理;M1卡存储结构与指令;MFRC522简化功能框图…

  • matlab灰度最大值和最小值_matlab灰度直方图

    matlab灰度最大值和最小值_matlab灰度直方图这里有两个版本的泛洪填充算法:第一个,更简单的一个包含两个未定义的变量,但这是一个工作版本:importnumpyasnpimportscipyasspimportscipy.ndimagedefflood_fill(test_array,h_max=255):input_array=np.copy(test_array)el=sp.ndimage.generate_bin…

  • java实现Math.sqrt函数

    java实现Math.sqrt函数难易程度:★★★重要性:★★★★★度小满金融的面试中出现过:自己实现Math.sqrt函数//计算:Math.sqrt(num)//原理:牛顿迭代法://https://baike.baidu.com/item/%E7%89%9B%E9%A1%BF%E8%BF%AD%E4%BB%A3%E6%B3%95/10887580?fr=aladdinprivate…

  • 思科和华为交换机命令的区别(思科交换机和华为交换机的异同)

    思科和华为交换机常用命令对比一、调试命令思科:Switch#showrun显示所有配置命令Switch#showipinterbrief显示所有接口状态Switch#showvlanbrief显示所有VLAN的信息Switch#showversion显示版本信息华为:[Quidway]discur显示所有配置命令[Quidway…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号