使用Python+Selenium模擬登錄QQ空間
爬QQ空間之類的頁面時大多需要進行登錄,研究QQ登錄規則的話,得分析大量Javascript的加密解密,這絕對能掉好幾斤頭發。而現在有了selenium工具,麻麻再也不用擔心你的QQ登錄!
Selenium是一個WEB自動化測試工具,它運行時會直接實例化出一個瀏覽器,完全模擬用戶的操作,比如點擊鏈接、輸入表單,點擊按鈕提交等。所以我們使用它可以很方便的來登錄QQ空間。
from selenium import webdriver
#實例化出一個Firefox瀏覽器
driver = webdriver.Firefox()
#設置瀏覽器窗口的位置和大小
driver.set_window_position(20, 40)
driver.set_window_size(1100,700)
#打開一個頁面(QQ空間登錄頁)
driver.get(‘http://qzone.qq.com’)
#登錄表單在頁面的框架中,所以要切換到該框架
driver.switch_to_frame(‘login_frame’)
#通過使用選擇器選擇到表單元素進行模擬輸入和點擊按鈕提交
driver.find_element_by_id(‘switcher_plogin’).click()
driver.find_element_by_id(‘u’).clear()
driver.find_element_by_id(‘u’).send_keys(‘917464311’)
driver.find_element_by_id(‘p’).clear()
driver.find_element_by_id(‘p’).send_keys(‘123456’)
driver.find_element_by_id(‘login_button’).click()
#do something….
#退出窗口
driver.quit()
這樣就能方便的登錄到QQ空間,下一步就可以利用這個登錄狀態去抓取頁面內容或其它腦洞大開的應用了~~~
安裝selenium庫,建議直接使用pip工具
2017-02-28 更新:
有網友反映登錄時出現異常,我只能表示無能為力,我只是用過selenium,並不能解決各種疑難雜症,今天又收到回復說是無法使用,我以為是騰訊改什么規則了,所以又測試了一下沒發現問題,並錄制了gif,如下圖(點擊查看高清…):
環境:64位Win10 + chromedriver(2.27) + python2.7 + 密碼在運行時已經修改了:)
本文出自 鄭曉個人博客,轉載時請注明出處及相應鏈接。
本文永久鏈接: https://www.zh30.com/python-selenium-qzone-login.html