Scrapy爬蟲框架第一講(Linux環境)
1、What is Scrapy?
答:Scrapy是一個使用python語言(基於Twistec框架)編寫的開源網絡爬蟲框架,其結構清晰、模塊之間的耦合程度低,具有較強的擴張性,能滿足各種需求。(前面我們介紹了使用requests、beautifulsoup、selenium等相當於你寫作文題,主要針對的是個人爬蟲;而Scrapy框架的出現給了我們一個方便靈活爬蟲程序架構,我們只需針對其中的組件做更改,即可實現一個完美的網絡爬蟲,相當於你做填空題!)
基於Scrapy的使用方便性,下面所有的Scrapy程序我們都會在Linux系統下運行
2、Scrapy框架的安裝(這裏我使用的是vmware虛擬機+ubuntu16.04鏡像環境)
打開終端:sudo apt-get install python-dev python-pip libxml2-dev libxslt1-dev zlib1g-dev libffi-dev libssl-dev(安裝一些依賴包)
如果你沒安裝python3請執行:sudo apt-get install python3 python3-dev
這裏小夥伴們可以先創建一個虛擬環境:pip3 install virtualenv 再進行scrapy 的安裝(之後你寫的所有程序都會在虛擬環境中運行)
基於我使用的是ubuntu16.04版本,系統自帶了python2.7.14 和python3.5.2兩個版本
下面小夥們讓我們先來解決一個多版本的共存問題吧
當你輸入python時系統會自動指向python2,而我們的所有程序是基於python3 的,這也是以後的主流。(我們要的是輸入python,系統直接鏈接到python3)
下面我們來解決這個問題:sudo su (輸入你設置等待用戶密碼進入超級用戶權限)---接著請看圖:
分析:(linux命令小夥伴們我們以後再談)
當我們鍵入python2 系統自動指向python2環境,python3同樣如此
whereis python 找出了python的所有可執行文件的路徑
which python 找出了當我們鍵入python時執行的文件路徑
我們使用rm 首先刪除了該路徑,接著使用 ln -s 參數1 參數2 (將參數1 指向 參數2 這裏相當於生成了軟鏈接原理和超鏈接一樣,當你鍵入python時系統自動指向了軟連接 python3的可執行文件的路徑並執行文件),這樣我們成功的達到了預想目的
3、如何解決同時使用多個python版本和同時使用多個庫版本的問題
答:安裝virtualenv虛擬環境
打開終端:sudo pip3 install virtualenv
如果出現以下錯誤請使用 vi /usr/bin/pip3 更改配置文件(這是因為原來我們是python2的pip當你升級後系統沒改配置文件,小夥伴們不要緊張,我們自己修改即可)
這裏涉及到linux下強大的文本編輯器vim的使用我們下次專門講解
更改配置文件如下:
再次鍵入:sudo pip3 install virtualenv (成功)
接著:
創建名叫course-python3.5-env 的python3.5虛擬環境:如上圖
激活與推出虛擬環境 source 與 deactivate 命令
最後我們按照前述,首先激活虛擬環境,然後安裝Scrapy即可
驗證:終端鍵入:scrapy --version查看安裝的scapy版本,不報錯即可!
以後我們所有的scrapy爬蟲項目都在虛擬環境下運行了!
Scrapy爬蟲框架第一講(Linux環境)