爬蟲環境配置


爬蟲環境配置

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

    軟件:

        Anaconda 庫環境支持軟件

        Python3

        Jupyter / jupyter lab pythonIDE

        Pycharm pythonIDE

 

    相關庫安裝:

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

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

        3 數據庫 存儲爬取的數據

        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來打包和部署爬蟲很方便。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM