python+pyspider+phantomjs實現簡易爬蟲功能

來源:互聯網
上載者:User

標籤:python   爬蟲   pyspider   phantomjs   

本篇文章的目的有兩個:
1.記錄搭建爬蟲環境的過程
2.總結爬蟲項目的心得體會

一、系統內容
該方案在32位ubuntu10.04和64位centos6.9上面測試通過,所需要用到的軟體如下:
1.ubuntu10.04或者centos6.9任選其一,下文主要以centos6.9來說明
2.pyspider原始碼,可以從這裡下載到http://download.csdn.net/detail/king_bingge/8582249,也可以從官網下載https://github.com/binux/pyspider
3.對於phantomjs,因為該爬蟲項目中使用到flash,而最新版本中的phantomjs是去掉了flash外掛程式支援的(當然這裡是為了phantomjs更高的效率),所以我選擇了保留了flash外掛程式的phantomjs版本,可以從這裡下載到http://download.csdn.net/detail/king_bingge/8582351
4.當然,既然我們使用了pyspider,那麼你的系統肯定要支援python,我系統的python版本為2.7.7,你可以從這裡下載到http://download.csdn.net/detail/king_bingge/8582267
5.為了讓phantomjs支援flash,那麼你還需要下載一個flash外掛程式,對於falsh外掛程式,你可以從這裡下載到http://download.csdn.net/detail/king_bingge/8582273。,當然,官網或許是一個更好的選擇。

到這裡為止,我們所需要的主要軟體都已經具備了,下面就開始進行環境的搭建

二、安裝phantomjs

1.在安裝phantomjs之前,先要安裝依賴的環境

yum install -y xorg-x11-server-Xvfb xorg-x11-server-Xorg xorg-x11-fonts* dbus-x11 xulrunner.x86_64 nspr.x86_64 nss.x86_64yum install -y  flash-plugin nspluginwrapper

2.然後執行 rpm -ivh phantomjs-1.9-1.x86_64.rpm,完成之後,執行下面:

[root@localhost pyspider]# phantomjs  -v1.10.0 (development)[root@localhost pyspider]# 

能看到版本資訊

3.然後執行下面的命令,查看命令列參數:

[[email protected] pyspider]# phantomjs  -hUsage:   phantomjs [switchs] [options] [script] [argument [argument [...]]]Options:  --cookies-file=<val>                 Sets the file name to store the persistent cookies  --config=<val>                       Specifies JSON-formatted configuration file  --debug=<val>                        Prints additional warning and debug message: ‘true‘ or ‘false‘ (default)  --disk-cache=<val>                   Enables disk cache: ‘true‘ or ‘false‘ (default)  --ignore-ssl-errors=<val>            Ignores SSL errors (expired/self-signed certificate errors): ‘true‘ or ‘false‘ (default)  --load-images=<val>                  Loads all inlined images: ‘true‘ (default) or ‘false‘  --load-plugins=<val>                 Loads all plugins: ‘true‘ (default) or ‘false‘

我們能夠看到有一個–load-plugins=參數,這就是我們家在外掛程式所需要帶上的參數。
4.千萬別忘了還有一點,我們的flash外掛程式還沒有安裝
解壓:tar -xf install_flash_player_11_linux.x86_64.tar.gz
cp libflashplayer.so /usr/lib/mozilla/plugins
cp ./usr/* /usr
這樣即可成功安裝。可以使用adobe flash player 了。

5.那麼如何測試我們安裝的phantomjs 是否成功了呢?下面給出一個測試指令碼:

var page = require(‘webpage‘).create();page.open(‘http://www.dhs.state.il.us/accessibility/tests/flash/video.html‘, function () {    window.setTimeout(function(){        page.render(‘video.png‘);        phantom.exit();    },10000);});

將上面內容儲存為test.js
然後執行命令: ./phantomjs –load-plugins=yes test.js
查看一下:目前的目錄下面是不是有video.png的呀,這就是flash播放時候的。
至此,你已經完成了phantomjs 的安裝
更多詳細的內容參考:http://www.ryanbridges.org/2013/05/21/putting-the-flash-back-in-phantomjs/
三、安裝pyspider
接下來開始進入正題了,安裝pyspider
1.後續我們安裝pyspider所需要的包都通過pip來進行安裝,所以在這這錢我們要確保系統已經安裝了pip,如果沒有安裝的話,現在pip原始碼,進行安裝
代碼可以從這裡下載到:https://pypi.python.org/packages/source/p/pip,也可以從這裡下載到:http://download.csdn.net/detail/king_bingge/8582399
進行安裝

#解壓tar -zxvf pip-6.1.1.tar.gzcd pip-6.1.1#安裝python setup.py install這個時候會報錯說少了setuptools從setuptools官網 https://pypi.python.org/pypi/setuptools下載setuptools原來#解壓tar -zxvf setuptools-3.6.tar.gz cd setuptools-3.6#安裝python setup.py install

2.安裝pip完成之後,執行命令

[root@localhost pyspider-master]# pip  install  -r requirements.txt 

3.之後在執行

pip install pyspider

4.運行./run.py,訪問 http://192.168.1.1:5000/ ,看到如下介面就說明你大功告成了:

到這裡為止,環境搭建完畢

後續會講解一個執行個體:使用該環境實現一個建議爬蟲項目。

python+pyspider+phantomjs實現簡易爬蟲功能

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.