本篇文章簡述了使用python的splinter實現163郵箱的自動登陸,介紹了splinter自動化測試工具的使用,以及mac環境下的配置;html
splinter,它是用來作自動化測試的,能夠用Python程序模擬人操做瀏覽器,好比點擊按鈕,輸入帳號和密碼,cookie操做等python
官方文檔git
在python官方網站在官網下載python2.7github
安裝pip,pip是經常使用的Python包管理工具,相似於Java的maven。用python的同窗,都離不開pip。chrome
$ sudo easy_install pip
使用pip安裝splinter,splinter須要python2.7,不支持Python3.5瀏覽器
$ pip install splinter $ pip uninstall splinter # 刪除時使用
安裝chrome所需的驅動bash
$ brew install chromedriver
配置好相關環境就能夠開始寫代碼了,代碼很簡單,對照官方參考手冊很快就能玩起來,其實相比之下感受配置環境反而複雜多了cookie
from splinter import Browser browser = Browser('chrome') browser.visit('https://mail.163.com') # 163的登陸框在iframe中,因此沒法使用dom查找,能夠splinter提供的相關API with browser.get_iframe('x-URS-iframe') as iframe: iframe.find_by_name('email').fill('yourName') iframe.find_by_name('password').fill('yourPassWord') iframe.find_by_id('dologin').click() iframe.find_by_text('繼續登陸').click()
上述代碼實現了163的簡單登陸,可是對於驗證碼便無能爲力了,咱們能夠使用如下開源工具來進行簡單的驗證碼識別dom
Tesseract是一款谷歌公司正在維護的開源的光學字符識別(OCR)引擎python2.7
pytesseract是對Google Tesseract的一層python封裝,更方便的調用Tesseract
PIL:Python Imaging Library,是Python平臺的圖像處理庫。
PIL官方只有32位的安裝文件,64位安裝時會提示找不到python的安裝路徑。網上有非官方的64位庫(官方源碼編譯版),叫作pillow。Pillow是PIL的替代版本。
安裝運行環境
brew install tesseract pip install pytesseract pip install Pillow
快速開始
進入你的項目目錄中,執行如下代碼:
from PIL import Image import pytesseract im = Image.open('cp.jpg') print (pytesseract.image_to_string(im)) # 會輸出驗證碼圖片轉成的文字,好比abcd
運行後發現,簡單的驗證碼能夠識別(無粘連),複雜的仍然識別不了.須要進一步的處理才行.