from selenium import webdriver from lxml import etree import tesserocr import numpy as np import time from PIL import Image import matplotlib.pylab as plt import matplotlib.image as mpimg #加載谷歌驅動程序 bro=webdriver.Chrome(executable_path='D:\python\Reptiliane\爬蟲\chromedriver.exe') bro.get('https://so.gushiwen.cn/user/login.aspx?') page_text=bro.page_source tree=etree.HTML(page_text) time.sleep(1) #拿到帳號,密碼,驗證碼,的標籤 username_tag=bro.find_element_by_id('email') password_tag=bro.find_element_by_id('pwd') code=bro.find_element_by_id('code') #驗證碼圖片進行捕獲(裁剪) bro.save_screenshot('./main.jpg') time.sleep(1) img=mpimg.imread('./main.jpg') # img.show() # 打開圖片 image = plt.imread('main.jpg') # plt.imshow(image) # plt.show() #對驗證碼圖片進行裁剪 img=plt.imshow(image[260:290,500:580]) # plt.show() print(type(img)) plt.axis('off') # 不顯示座標軸 plt.savefig('./code.jpg') image=Image.open('code.jpg') #將圖片轉化爲灰度圖像 image=image.convert('L') threshold=80 table=[] for i in range(256): if i <threshold: table.append(0) else: table.append(1) #二值化處理 image=image.point(table,'1') image.save('code2.jpg') img=Image.open('code2.jpg') res=tesserocr.image_to_text(img) time.sleep(1) print(res) str1=input('請輸入帳號:') username_tag.send_keys(str1) str2=input('請輸入密碼:') password_tag.send_keys(str2) code.send_keys(res) time.sleep(3) bro.close() print('登陸成功!!!')
本文同步分享在 博客「笑着說願意」(CSDN)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。python