爬蟲環境配置

爬蟲環境配置 javascript

爬蟲環境配置,主要安裝爬蟲所須要的軟件以及包含庫

    軟件: html

        Anaconda 庫環境支持軟件 java

        Python3 python

        Jupyter / jupyter lab pythonIDE mysql

        Pycharm pythonIDE android

 

    相關庫安裝: git

        1 請求庫 向瀏覽器發送請求 github

        2 解析庫 解析服務器返回數據,查找,匹配,提取數據 web

        3 數據庫 存儲爬取的數據 redis

        4 存儲庫 使用python支持存數據庫的庫實現對數據庫的讀寫

        5 web庫 構建簡單的web網絡夫區,搭建api接口,供代理池使用

        6 爬蟲框架 大型的爬蟲須要爬蟲框架支持

        7 部署庫 用來將爬蟲部署到多機, 實現分佈式爬蟲

1請求庫安裝

  1. requests請求庫

pip install requests

第三方的請求庫,用來向服務器發送數據,發起請求

 

    1.2selenium 自動化測試工具

        Pip install selenium

        Selenium 用來驅動瀏覽器執行模擬瀏覽的動做,模擬點擊,下拉等。

        對於使用js渲染的頁面能夠有效的抓取

        

        驗證安裝是否成功:

            在python環境內 import selenium 無報錯便可

 

    1.3chrome driver 驅動安裝

        Selenium 自動化測試工具,能夠模擬瀏覽器進行模擬人工的操做,所以須要能夠模擬操做的瀏覽器,即google的chrome瀏覽器。

        可是,selenium不能直接驅動chrome進行模擬操做,所以須要安裝配置單獨的瀏覽器驅動來經過chromedriver驅動 瀏覽器chrome

        在chrome官網下載本身的chrome對應版本的chromedriver, 將單獨的chromedriver.exe 文放置的爬蟲環境的script文件夾中, 該文件夾要包含在本機的環境變量中,

    淘寶鏡像地址:http://npm.taobao.org/mirrors/chromedriver/

        驗證安裝:cmd中輸入 chromedriver 有下列輸出便可

        爬蟲環境下:

        From selenium import webdriver

        Browser = webdriver.Chrome()

        出現chrome的空白彈窗便可

1.4phantomjs安裝

Selenium在驅動瀏覽器的是時候會打開瀏覽器, 加載慢不方便, 所以須要一個無彈窗的後臺模擬瀏覽器,加載數據,實現命令行的友好操做。

官網下載phantomjs http://phantomjs.org/download.html

官網文檔:http://phantomjs.org/api/

 

下載後的bin文件夾中有phantomjs.exe文件, 將該文件一樣放置在爬蟲環境中的script文件夾中(該路徑要配置在環境變量中)

驗證安裝cmd中:phantomjs 無報錯便可

 

1.5 aiohttp 異步請求庫

    Request http 請求庫是單步的請求庫,每次只能發起一個請求並等待服務器迴應,使用該庫在大型的爬蟲中會很是浪費時間以及資源。故此須要一個支持同時發起多個請求的請求庫,aiohttp就能夠實現異步請求。

    安裝 pip install aiohttp

    驗證: python環境下 import aiohttp 無報錯便可

字符編碼檢測庫: cchardet DNS解析加速庫: aiodns

2解析庫安裝

解析庫:發起請求完畢後,服務器會返回數據,要從返回的網頁數據中提取數據就須要解析庫。

提取信息方式:

正則匹配

解析信息方式:

Xpath 解析

Css 選擇器解析

經常使用的解析庫:

Beautifulsoup、 ,lxml、puquery

 

2.1 lxml 解析庫安裝

    Lxml解析庫支持HTML解析,支持xpath解析,解析效率較高

    安裝:

        Pip install lxml

 

2.2 beautifulsoup 解析庫安裝

    Beautifulsoup 庫支持html和xml解析, =能夠快捷的從網頁中提取數據,有強大的api以及多種解析方式是

    ·安裝:

        Pip install beautifulsoup4

 

2.3 pyquery 解析庫安裝

    Pyquery支持Jquery和HTML解析, 支持CSS選擇器,使用簡單

    安裝:

        Pip install pyquery

 

 

 

 

 

3 數據庫軟件安裝

    安裝不一樣類型的數據庫,用來高效的存儲爬取的數據

    主要的數據庫包括:

        關係型數據庫:mysql

        面向文檔的非關係型數據庫: mongodb

        非關係型key-value 數據庫 redis

 

3.1 mysql安裝

    官網下載mysql安裝軟件 https://dev.mysql.com/downloads/mysql/ 注意版本的對應

    安裝參照其餘詳細教程

    注意:

        安裝的時候基本上一路next,注意安裝workbench 用來對數據庫可視化交互

        安裝的過程當中本地的mysql服務會建立密碼,要記住密碼

    驗證安裝:

        在電腦的服務中會有mysql57服務,證實安裝成功

    保證該服務是自動啓動運行的狀態。

3.2 mongodb 安裝

    官網下載mongofb4.0

    如今要求註冊以才能下載安裝文件,所以要先在官網註冊帳戶,安裝的時候一路next設置密碼便可

    驗證安裝;

            在服務中會有mondb的服務正在運行表示安裝成功

 

 

 

 

 

3.3 redis 安裝

    在redis的guithub下載安裝源文件便可

    https ://github.com.uglide/RedisDesktopManager/releases 一路next便可

    驗證安裝:

        在服務中一樣有redis服務表示安裝成功

    

 

    安裝redis desktop 可視化管理工具,用來管理redis數據庫

    在github 搜索redis desktop 選擇第一個uglide/RedisDesktopManager 在他的release 發行版本中選擇穩定的版本按章,一路next便可。

    安裝完成後配置本地鏈接;

測試成功便可

4 python 交互存儲庫安裝

    安裝完成數據庫之後,python和數據庫交互的時候須要相關的庫支持

    包括;

        Pymysql 庫

        PyMongo 庫

        Redis-py 庫

        

    4.1 以上支持庫的安裝 pip install 庫名 便可

    4.2 安裝redisdump

        Redisdump 用於redis的數據導入導出工具基於ruby實現, 須要安裝ruby

        Rubyinstaller下載地址https://rubyinstaller.org/downloads/ 下載完成後根據提示配置基礎運行環境

        配置完成後在ruby控制檯運行 gem install redis-dump

        安裝完成後運行redis-dump 以及redis-load 無報錯便可

 

5 web庫安裝

    在爬蟲中使用web庫搭建API接口,配合redis數據庫搭建代理池, 經過API 接口拿到代理,簡單快捷

    主要的web庫包括;

        Flask: 輕量級web支持庫 利用flask+redis搭建代理池

        固然也能夠快捷購買代理

        安裝;

            pip install flask

        

        Tornado 支持異步請求的web框架, 效率高

        安裝:

            Pip install tornado

 

        這兩個web框架,二選一便可

 

 

 

6 app爬取庫安裝

    爲了抓取app的數據, 須要app支持庫來加載app頁面

 

    6.1 抓包工具 Charles 安裝

        要加載app中的頁面數據,須要獲取數據,app的數據的請求通常是經過服務器的專用請求接口來實現的,須要抓包工具來抓取數據,爲了實現規模化的自動採集,一樣須要自動化測試版工具來實現對手機中app自動化操做,主要的app自動化控制操做工具備appium 和國產的airtest

 

        Charles安裝:

        官網地址; https://www.charlesproxy.com/download/

        Charles須要付費

        Charles激活:

    Registered Name:https://zhile.io 

License Key: 48891cf209c6d32bf4

 

        安裝完成之後須要配置證書

 

      

 

 

 

Charles教程; https://www.jianshu.com/p/fa351db39b5c

    手機須要和電腦鏈接在同一個局域網下,而且配置手機爲Charles代理

 

    6.2 appium 自動化測試工具安裝

    使用appium軟件能夠經過python代碼實現對你手機的自動化的點擊,滑動等動做的操做,模擬人的對手機的操做。

    Appium 官網下載:

    使用app抓取數據須要安卓環境的支持,配置android sdk環境

    安裝andriod studio 在Androidstudio中安裝sdk

    Sdk環境配置:

 

 

 

 

 

 

 

 

 

 

 

7 爬蟲框架安裝

    在爬取工做量不大的時候可使用request以及selenium庫爬取就能夠知足需求。

    而大型的大量數據的爬取須要簡化流程的爬蟲框架的支持,只須要關心爬蟲的邏輯不用關心爬蟲的具體的模塊功能的實現。簡化代碼。

    主要的流行爬蟲框架包括:

        1 Pyspider 具備UI,腳本編輯器,任務控制器,項目管理器,結果處理器。支持多種數據庫,多種消息隊列,支持JS渲染頁面爬取使用簡單方便

        2 scrapy 依賴庫較多, 功能強大,安裝麻煩,須要提早安裝支持庫

 

    7.1 pyspider 框架安裝

        安裝 pip install pyspider

            或者 anacond安裝, conda install pyspider

        驗證安裝: cmd pyspider all

        輸出以下;

 

 

7.2 scrapy 框架安裝

        Scrip 是個強大的框架,可是依賴的python庫比較多,所以安裝以前須要提早安裝不少的支持庫。所以建議使用anaconda安裝的方式。Anaconda會自動安裝scrapy所須要的支持庫。

        Anaconda安裝 conda install scrapy

 

 

 

    7.3 scrapy-splash Javascript支持渲染工具安裝

        Scrapy-splash 是 javascript的渲染工具

        Scrapy-splash的安裝分爲連個部分:splash服務,以及scrapy-splash的python庫安裝。

        Splash服務經過docker安裝,安裝完成後會啓動splash服務,經過它的接口,實現javascript頁面加載。

        Scrapy-splash python庫安裝經過pip安裝,安裝完成後在scrapy中使用splash服務。

 

 

8 Docker安裝

Docker的容器技術用來部署爬蟲,經過ddocker將爬蟲的環境和應用打包,而後再在主機上使用docker部署便可運行新的爬蟲

在docker官網下載,docker desktop 安裝直接一路next。而後配置docker鏡像源,因爲訪問國外的鏡像速度很慢,所以須要配置國內的鏡像來加速下載。

    使用docker來打包和部署爬蟲很方便。

相關文章
相關標籤/搜索