久久久噜噜噜久久熟女,久久久久久久久,国内精品,精品国产成人亚洲午夜福利,久久天堂av综合合色蜜桃网,好姑娘在线观看完整视频高清

首頁 > 留學(xué)

盤點(diǎn)一個(gè)Python網(wǎng)絡(luò)爬蟲過驗(yàn)證碼的問題(方法一)

來源:程序員客棧 時(shí)間:2023-06-23 11:32:27

點(diǎn)擊上方“Python爬蟲與數(shù)據(jù)挖掘”,進(jìn)行關(guān)注

回復(fù)“書籍”即可獲贈(zèng)Python從入門到進(jìn)階共10本電子書


(資料圖片僅供參考)

低眉信手續(xù)續(xù)彈,說盡心中無限事。

大家好,我是皮皮。

一、前言

前幾天在Python最強(qiáng)王者群【鶏啊鶏?!繂柫艘粋€(gè)Python網(wǎng)絡(luò)爬蟲的問題,這里拿出來給大家分享下。

下面是他的代碼:

from?selenium?import?webdriverfrom?selenium.webdriver.common.by?import?Byimport?timefrom?PIL?import?Imageimport?ddddocrocr?=?ddddocr.DdddOcr()options?=?webdriver.ChromeOptions()options.add_argument("user-agent=Mozilla/5.0?(Macintosh;?Intel?Mac?OS?X?10_15_7)?AppleWebKit/537.36?(KHTML,?like?Gecko)?Chrome/86.0.4240.198?Safari/537.36")options.add_argument("--disable-blink-features=AutomationControlled")driver?=?webdriver.Chrome(options=options)#?打開目標(biāo)網(wǎng)頁driver.get("https://sol.sinosure.com.cn")time.sleep(5)driver.maximize_window()#?定位驗(yàn)證碼圖片元素并模擬鼠標(biāo)懸停以加載圖片yanzhengma?=?driver.find_element(By.CSS_SELECTOR,?".pass-form-item.pass-form-item-code")captcha_element?=?yanzhengma.find_element(By.CSS_SELECTOR,??".pass-label-img")webdriver.ActionChains(driver).move_to_element(captcha_element).perform()time.sleep(5)#?獲取驗(yàn)證碼圖片元素的位置和大小location?=?captcha_element.locationsize?=?captcha_element.sizeprint(location)print(size)#?截取整個(gè)網(wǎng)頁的截圖driver.save_screenshot("screenshot.png")#?根據(jù)驗(yàn)證碼圖片元素的位置和大小,從整個(gè)網(wǎng)頁截圖中裁剪出驗(yàn)證碼圖片left?=?int(location["x"])top?=?int(location["y"])right?=?int(location["x"]?+?size["width"])bottom?=?int(location["y"]?+?size["height"])captcha_screenshot?=?Image.open("screenshot.png").crop((left,?top,?right,?bottom))print(left)print(top)print(location)print(bottom)#?保存裁剪后的驗(yàn)證碼圖片,并進(jìn)行識別captcha_screenshot.save("captcha.png")with?open("captcha.png",?"rb")?as?f:????img_bytes?=?f.read()res?=?ocr.classification(img_bytes)print("識別的驗(yàn)證碼是:"?+?res)

基本思路是沒啥問題的,確實(shí)也是可以拿到對應(yīng)界面的截圖,只不過是驗(yàn)證碼的位置截取出現(xiàn)了點(diǎn)偏差,導(dǎo)致驗(yàn)證碼沒正確識別到。

下面這個(gè)代碼是獲取驗(yàn)證碼圖片元素的位置和大?。?/p>

location?=?captcha_element.locationsize?=?captcha_element.size

這個(gè)部分我看介紹應(yīng)該是會(huì)返回定位的元素位置,我剛剛大致拖拉了一下在裁剪前的定位打印出來確實(shí)就已經(jīng)去了輸入密碼附近的位置了 但是我定位的元素是驗(yàn)證碼的地方,并且我也嘗試了先定位驗(yàn)證那個(gè)位置的大元素再定位至具體的驗(yàn)證碼圖片位置 ?問題依舊。

上面是粉絲的疑惑,下面一起來看看解決辦法。

二、實(shí)現(xiàn)過程

這里【魏哥】嘗試了下代碼,但是出現(xiàn)下圖報(bào)錯(cuò):

這個(gè)報(bào)錯(cuò)還是蠻常見的,對于時(shí)常使用sel的人來說,這個(gè)報(bào)錯(cuò)算是家常便飯了,報(bào)錯(cuò)的原因是本地瀏覽器驅(qū)動(dòng)和谷歌瀏覽器的版本不匹配,需要更換本地瀏覽器驅(qū)動(dòng)。

關(guān)于這個(gè)問題的解決方法,就是去網(wǎng)頁下載對應(yīng)瀏覽器版本的對應(yīng)驅(qū)動(dòng),放到本地指定文件夾,確保該文件夾路徑有加入環(huán)境變量。該問題的解決辦法公眾號歷史文章也有提及,網(wǎng)上的解決教程也一大堆,這里不再贅述。

言歸正傳,繼續(xù)回到這個(gè)問題的解決辦法。這里【甯同學(xué)】給了一個(gè)思路,直接找到 驗(yàn)證碼的圖片的url 用requests 請求 驗(yàn)證碼的.content 用 ocr.classification(驗(yàn)證碼的.content) 就可以了 不用保存圖片 在open讀取二進(jìn)制流,代碼如下所示:

順利地解決了粉絲的問題,如果對requests和Beautiful還不熟悉的小伙伴,可能接受起來就比較困難一些。

這里只是給出了其中一個(gè)方法,另外的一個(gè)方法,一起看下一篇文章,敬請期待!

三、總結(jié)

大家好,我是皮皮。這篇文章主要盤點(diǎn)了一個(gè)Python網(wǎng)絡(luò)爬蟲過驗(yàn)證碼的問題,文中針對該問題,給出了具體的解析和代碼實(shí)現(xiàn),幫助粉絲順利解決了問題。

最后感謝粉絲【鶏啊鶏】提問,感謝【甯同學(xué)】、【魏哥】給出的思路和代碼解析,感謝【Ineverleft】等人參與學(xué)習(xí)交流。

【提問補(bǔ)充】溫馨提示,大家在群里提問的時(shí)候。可以注意下面幾點(diǎn):如果涉及到大文件數(shù)據(jù),可以數(shù)據(jù)脫敏后,發(fā)點(diǎn)demo數(shù)據(jù)來(小文件的意思),然后貼點(diǎn)代碼(可以復(fù)制的那種),記得發(fā)報(bào)錯(cuò)截圖(截全)。代碼不多的話,直接發(fā)代碼文字即可,代碼超過50行這樣的話,發(fā)個(gè).py文件就行。

大家在學(xué)習(xí)過程中如果有遇到問題,歡迎隨時(shí)聯(lián)系我解決(我的微信:pdcfighting1),應(yīng)粉絲要求,我創(chuàng)建了一些高質(zhì)量的Python付費(fèi)學(xué)習(xí)交流群和付費(fèi)接單群,歡迎大家加入我的Python學(xué)習(xí)交流群和接單群!

小伙伴們,快快用實(shí)踐一下吧!如果在學(xué)習(xí)過程中,有遇到任何問題,歡迎加我好友,我拉你進(jìn)Python學(xué)習(xí)交流群共同探討學(xué)習(xí)。

-------------------?End?-------------------

往期精彩文章推薦:

if a and b and c and d:這種代碼有優(yōu)雅的寫法嗎?

Pycharm和Python到底啥關(guān)系?

都說chatGPT編程怎么怎么厲害,今天試了一下,有個(gè)靜態(tài)網(wǎng)頁,chatGPT居然沒搞定?

站不住就準(zhǔn)備加倉,這個(gè)pandas語句該咋寫?

歡迎大家點(diǎn)贊,留言,轉(zhuǎn)發(fā),轉(zhuǎn)載,感謝大家的相伴與支持

想加入Python學(xué)習(xí)群請?jiān)诤笈_回復(fù)【入群】

萬水千山總是情,點(diǎn)個(gè)【在看】行不行

/今日留言主題/

隨便說一兩句吧~~

相關(guān)稿件

盤點(diǎn)一個(gè)Python網(wǎng)絡(luò)爬蟲過驗(yàn)證碼的問題(方法一)

新華視點(diǎn)|AI代寫論文,該不該管?-精彩看點(diǎn)

每日短訊:源代碼和工具 | 2023 bilibili 視頻評論爬蟲,單條視頻最多可爬取 10000 條評論

環(huán)球新消息丨國家下達(dá)1.56億元用于青海生態(tài)保護(hù)和修復(fù)支撐保障體系建設(shè)

兩龍舟引領(lǐng)百艘漁船狂飆!惠東港口海上龍舟賽場面壯觀-世界獨(dú)家

龍舟競渡燃端午 多地舉行豐富多彩的活動(dòng)|環(huán)球看點(diǎn)

江西省萬載縣發(fā)布暴雨黃色預(yù)警 聚看點(diǎn)

濃情端午 韻滿江淮

高溫與強(qiáng)對流天氣疊加 美國得州供電壓力陡增-環(huán)球新資訊

美國5月生成式AI類招聘崗位增加了20%

Here we go!31歲切爾西門將門迪將加盟吉達(dá)國民 熱推薦

天天日報(bào)丨大摩:予藥明生物增持評級 目標(biāo)價(jià)121港元

環(huán)球熱點(diǎn)評!2023年龍泉驛區(qū)小升初公辦初中學(xué)校電搖號報(bào)名公告

天天速看:陰行草有哪些功效和作用?

豬油和豬肉哪個(gè)含鐵高?_每日消息

今日滬錫期貨價(jià)格查詢(2023年6月21日)

特立獨(dú)行!德國電信挑戰(zhàn)歐盟不合理規(guī)定:繼續(xù)購買華為5G設(shè)備 世界動(dòng)態(tài)

數(shù)智賦能,創(chuàng)想未來丨中南林涉外學(xué)院舉辦2023年第三屆知新論壇學(xué)術(shù)活動(dòng)-精彩看點(diǎn)

【世界獨(dú)家】鄭薇挖到寶!中國女籃2米27魔獸橫空出世,場均35分征服姚明

富國:科技股當(dāng)前漲勢類似1999年,只有美聯(lián)儲才能使其終結(jié)-全球熱文

蘋果手機(jī)能跳過id激活碼_蘋果手機(jī)激活時(shí)能跳過登入id 激活方法是什么_世界視點(diǎn)

83.24億元資金今日流出電子股

湖人17號簽鎖定2米31長臂怪獸?名記:可搭檔濃眉變身新版小喬丹

三花控股集團(tuán)計(jì)劃退出房地產(chǎn)業(yè)務(wù) 去年地產(chǎn)收入逾16億 天天資訊

24個(gè)星座有什么_24星座都有什么什么 快資訊

全球資訊:外交部領(lǐng)事司司長:十年來組織實(shí)施近20次海外中國公民撤離行動(dòng)

當(dāng)前快播:英偉達(dá)安裝程序失敗win11_英偉達(dá)安裝程序失敗

每日快訊!學(xué)習(xí)貫徹全會(huì)精神丨退役軍人事務(wù)廳:為四川現(xiàn)代化建設(shè)貢獻(xiàn)退役軍人智慧力量

毀天毀地是成語嗎_毀天滅地

標(biāo)準(zhǔn)差的計(jì)算公式實(shí)例_標(biāo)準(zhǔn)差的計(jì)算公式excel