[Python爬蟲] 在Windows下安裝PIP+Phantomjs+Selenium
最近準備深入學習Python相關的爬蟲知識了,如果說在使用Python爬取相對正規的網頁使用"urllib2 + BeautifulSoup + 正規表示式"就能搞定的話;那麼動態生成的資訊頁面,如Ajax、JavaScript等就需要通過"Phantomjs + CasperJS + Selenium"來實現了。所以先從安裝和功能介紹入門,後面在介紹一些Python相關的爬蟲應用。
一. 介紹
PhantomJS
PhantomJS是一個伺服器端的 JavaScript API 的WebKit(開源的瀏覽器引擎)。其支援各種Web標準:
DOM 處理, CSS 選擇器, JSON, Canvas 和 SVG。PhantomJS可以用於頁面自動化,網路監測,網頁截圖,以及無介面測試等。
Selenium
Selenium是一個用於Web應用程式測試的工具。Selenium測試直接執行在瀏覽器中,就像真正的使用者在操作一樣。支援的瀏覽器包括IE(7、8、9)、Mozilla Firefox、Mozilla Suite等。這個工具的主要功能包括:測試與瀏覽器的相容性、測試系統功能,它ThoughtWorks專門為Web應用程式編寫的一個驗收測試工具。
PIP
在介紹介紹它們之前,需要安裝PIP軟體。正如xifeijian大神所說:“作為Python愛好者,如果不知道easy_install或者pip中的任何一個的話,那麼......”。
easy_insall的作用和perl中的cpan,ruby中的gem類似,都提供了線上一鍵安裝模組的傻瓜方便方式,而pip是easy_install的改進版,提供更好的提示資訊,刪除package等功能。老版本的python中只有easy_install,沒有pip。常見的具體用法如下:
easy_install的用法:
1) 安裝一個包
$ easy_install <package_name>
$ easy_install "<package_name>==<version>"
2) 升級一個包
$ easy_install -U "<package_name>>=<version>"
pip的用法
1) 安裝一個包
$ pip install <package_name>
$ pip install <package_name>==<version>
2) 升級一個包 (如果不提供version號,升級到最新版本)
$ pip install --upgrade <package_name>>=<version>
3)刪除一個包
$ pip uninstall <package_name>
二. 安裝PIP
PS:你可以使用easy_install pip 直接安裝pip軟體,這更加方便。
第一步:下載PIP軟體
可以在官網http://pypi.python.org/pypi/pip#downloads下載,同時cd切換到PIP目錄,在通過python
setup.py install安裝。而我採用的是下載pip-Win_1.7.exe進行安裝,下載地址如下:
https://sites.google.com/site/pydatalog/python/pip-for-windows
第二步:安裝PIP軟體
第三步:配置環境變數
此時在cmd中輸入pip指令會提示錯誤“不是內部或外部命令”。
所以需要新增path環境變數。PIP安裝完成後,會在Python安裝目錄下新增python\Scripts目錄,即在python安裝目錄的Scripts目錄下,將此目錄加入環境變數中即可!過程如下:
下面在CMD中使用PIP命令,“pip list outdate”列舉Python安裝庫的版本資訊。
Usage:
pip <command> [options]
Commands:
install 安裝軟體.
uninstall 解除安裝軟體.
freeze 按著一定格式輸出已安裝軟體列表
list 列出已安裝軟體.
show 顯示軟體詳細資訊.
search 搜尋軟體,類似yum裡的search.
wheel Build wheels from your requirements.
zip 不推薦. Zip individual packages.
unzip 不推薦. Unzip individual packages.
bundle 不推薦. Create pybundles.
help 當前幫助.
General Options:
-h, --help 顯示幫助.
-v, --verbose 更多的輸出,最多可以使用3次
-V, --version 現實版本資訊然後退出.
-q, --quiet 最少的輸出.
--log-file <path> 覆蓋的方式記錄verbose錯誤日誌,預設檔案:/root/.pip/pip.log
--log <path> 不覆蓋記錄verbose輸出的日誌.
--proxy <proxy> Specify a proxy in the form [user:passwd@]proxy.server:port.
--timeout <sec> 連線超時時間 (預設15秒).
--exists-action <action> 預設活動當一個路徑總是存在: (s)witch, (i)gnore, (w)ipe, (b)ackup.
--cert <path> 證照.
三. 安裝Phantomjs+Selenium
通過pip命令安裝Selenium:
設定executable_path路徑後的程式碼如下:
from selenium import webdriver
driver = webdriver.PhantomJS(executable_path="F:\Python\phantomjs-1.9.1-windows\phantomjs.exe")
driver.get("http://www.baidu.com")
data = driver.title
print data
執行結果如下圖所示:<title>百度一下,你就知道</title>
但是總會彈出PhantomJS的黑框,怎麼辦呢?同時如何通過Python直接呼叫Phantomjs執行JS呢?
同時下面的程式碼可以進行截圖:
from selenium import webdriver
driver=webdriver.PhantomJS(executable_path="F:\Python\phantomjs-1.9.1-windows\phantomjs.exe")
driver.get("http://www.csdn.net")
data = driver.title
driver.save_screenshot('csdn.png')
print data
輸出如下圖所示,圖片太長僅僅部分:>>>
CSDN.NET - 全球最大中文IT社群,為IT專業技術人員提供最全面的資訊傳播和服務平臺
>>>
PS:我準備使用C#呼叫PhantomJS.exe完成頁面截圖功能,但是沒有成功,而且使用WebBrowser中DrawToBitmap函式獲取圖片,由於ActiveX 控制元件不支援DrawToBitmap方法,獲取總是空白的,各種問題。
參考資料:
資料抓取的藝術(一):Selenium+Phantomjs資料抓取環境配置(強推)
資料抓取的藝術(二):資料抓取程式優化
Python使用Selenium/PhantomJS(強推)
Python selenium的js擴充套件實現
使用python+phantomjs抓取動態頁面
用phantomjs 進行網頁整頁截圖
Selenium-webdriver系列教程(15)——萬能的截圖(強推)
pyspider 爬蟲教程(三):使用 PhantomJS 渲染帶 JS 的頁面
【PHP】【.NET】【JS】【AJAX】關於抓取網頁原始碼的問題
使用python/casperjs編寫終極爬蟲-客戶端App的抓取
Python 爬蟲如何獲取 JS 生成的 URL 和網頁內容-知乎
通過 WebBrowser 獲取網頁截圖 - C#
Control.DrawToBitmap 方法不支援Ajax - 官網
IE瀏覽器整頁截圖程式(二) - C#
C# 網路程式設計之最簡單瀏覽器實現 - 自己
最後希望該篇基礎性文章對你有所幫助吧!如果有不足之處,還請海涵~
(By:Eastmount 2015-8-19 晚上8點 http://blog.csdn.net/eastmount/)
相關文章
- 安裝Scrapy(Windows下Python的爬蟲環境)WindowsPython爬蟲
- Windows下安裝配置爬蟲工具Scrapy及爬蟲環境Windows爬蟲
- [Python爬蟲] 在Windows下安裝PhantomJS和CasperJS及入門介紹(上)Python爬蟲WindowsJS
- 在 windows下安裝rabbitmqWindowsMQ
- Python在Windows系統下基於Scrapyd部署爬蟲專案(本地部署)PythonWindows爬蟲
- Python爬蟲之路-chrome在爬蟲中的使用Python爬蟲Chrome
- 【Python學習】爬蟲爬蟲爬蟲爬蟲~Python爬蟲
- 在Windows xp下安裝PyQtWindowsQT
- Elasticsearch在Windows下的安裝ElasticsearchWindows
- Subversion在windows下的安裝Windows
- python 在pycharm中 爬蟲PythonPyCharm爬蟲
- Python爬蟲之路-selenium在爬蟲中的使用Python爬蟲
- Python爬蟲入門【1】: CentOS環境安裝Python爬蟲CentOS
- Python3爬蟲利器之ChromeDriver的安裝Python爬蟲Chrome
- Python3爬蟲利器:Appium的安裝Python爬蟲APP
- 【python爬蟲】python爬蟲demoPython爬蟲
- Zend Framework在windows下的安裝FrameworkWindows
- 在windows7下安裝CentOSWindowsCentOS
- Mongodb在Windows下安裝及配置MongoDBWindows
- PyGTK在Windows下的安裝(轉)Windows
- 如何在windows下安裝pythonWindowsPython
- Python3爬蟲利器:BeautifulSoup4的安裝Python爬蟲
- 2、爬蟲-安裝anaconda工具爬蟲
- python爬蟲---網頁爬蟲,圖片爬蟲,文章爬蟲,Python爬蟲爬取新聞網站新聞Python爬蟲網頁網站
- solr在windows下的安裝及配置SolrWindows
- 白鷺引擎Egret在windows下安裝Windows
- Resin在Windows系統下的安裝Windows
- Python爬蟲之scrapy框架簡介及環境安裝Python爬蟲框架
- Python爬蟲--- 1.2 BS4庫的安裝與使用Python爬蟲
- windows下python3.8安裝_01WindowsPython
- 量化-windows下如何安裝Python、pandasWindowsPython
- python 代理在爬蟲中的作用Python爬蟲
- fedora環境安裝webkit支援作爬蟲下載解析JSWebKit爬蟲JS
- 如何用python爬蟲下載小說?Python爬蟲
- python就是爬蟲嗎-python就是爬蟲嗎Python爬蟲
- windows 下安裝Windows
- python爬蟲Python爬蟲
- python 爬蟲Python爬蟲