python表單驗證(表單驗證怎麼實現)

本文目錄一覽:

python如何識別驗證碼

我們首先識別最簡單的一種驗證碼,即圖形驗證碼。這種驗證碼最早出現,現在也很常見,一般由4位字母或者數字組成。例如,中國知網的註冊頁面有類似的驗證碼,頁面如下所示:

表單中最後一項就是圖形驗證碼,我們必須完全正確輸入圖中的字符才可以完成註冊。

更多有關驗證碼的知識,可以參考這些文章:

Python3爬蟲進階:識別圖形驗證碼

Python3爬蟲進階:識別極驗滑動驗證碼

Python3爬蟲進階:識別點觸點選驗證碼

Python3爬蟲進階:識別微博宮格驗證碼

·本節目標以知網的驗證碼為例,講解利用OCR技術識別圖形驗證碼的方法。

·準備工作識別圖形驗證碼需要庫tesserocr,以mac安裝為例:在mac下,我們首先使用Homebrew安裝ImageMagick和tesseract庫:    brew install imagemagickbrew install tesseract 接下來再安裝tesserocr即可:pip3 install tesserocr pillow這樣我們就完成了            tesserocr的安裝。

·獲取驗證碼為了便於實驗,我們先將驗證碼的圖片保存到本地。打開開發者工具,找到驗證碼元素。驗證碼元素是一張圖片,它的ser屬    性是CheckCode.aspk。所以我們直接打開如下鏈接就可以看到一個驗證碼,右鍵保存即可,將其命名為code.jpg:

這樣我們就得到一張驗證碼圖片,以供測試識別使用。

相關推薦:《Python教程》

識別測試

接下來新建一個項目,將驗證碼圖片放到項目根目錄下,用tesserocr庫識別該驗證碼,代碼如下所示:

這裡我們新建了一個Image對戲那個,調用了tesserocr的image_to_text( )方法。傳入該Image對象即可完成識別,實現過程非常簡單,結果如下:

我們可以看到,識別的結果和實際結果有偏差,這是因為驗證碼內的多餘線條幹擾了圖片的識別。

另外,tesserocr還有一個更加簡單的方法,這個方法可以直接將圖片文件轉為字符串,代碼如下:

不過這種方法的識別效果不如上一種的好。

驗證碼處理

對於上面的圖片,我們可以看到其實並沒有完全識別正確,所以我們需要對圖像作進一步的處理,如灰度轉換、二值化等操作。

我們可以利用Image對象的convert( )方法參數傳入L,即可將圖片轉化為灰度圖像,代碼如下:

傳入1即可將圖片進行二值化處理,如下所示:

我們還可以指定二值化的閾值。上面的方法採用的是默認閾值127。不過我們不能直接轉化原圖,要將原圖先轉化為灰度圖像,然後再指定二值化閾值,代碼如下:

在這裡,變量threshold代表二值化閾值,閾值設置為160,之後我們來看看我們的結果:

我們可以看到現在的二維碼就比較方便我們進行識別了;那麼對於一些有干擾的圖片,我們做一些灰度和二值化處理,這會提高圖片識別的正確率。

想學python從哪裡入手

初學者學習Python需循序漸進,可以從以下內容入手學習:

1.Python基礎知識

學習任何一門編程語言都需要學習相關語法知識,Python基礎知識的學習主要包括Python解釋器執行原理、字符編碼、注釋、變量、縮進、流程控制、文件操作、數據類型、數據類型內置方法、字符串格式化、運算符、輸入輸出、三元運算、collections、列表、字典、元組、集合、IO操作、文件增刪改查、函數等。

2.函數和常用模塊

函數和常用模塊的學習內容主要包括裝飾器原理和使用、高階函數、迭代器與生成器、函數式編程、函數遞歸、二分查找、模塊介紹、re正則模塊、os\sys模塊、subprocess模塊、shuti\shelve\itertools模塊、hashlib模塊、logging日誌模塊、time\datetime\traceback模塊、json\pickle\yam\configparser處理模塊、urllib\paramiko模塊等。

3.面向對象

Python面向對象知識的學習主要包括面向對象和類介紹、創建類、經典類與新式類、面向對象的三大特性、類的普通成員、字段方法屬性、類的高級成員、靜態字段、靜態方法、靜態屬性、類方法、MetaClass\AbstractClass、類成員修飾符等。

4.網絡編程基礎

Python網絡編程基礎學習內容包括Python模塊SocketServer使用和源碼剖析、GIL內部機制、線程鎖、事件、生產者消費模型、進程的使用、進程間數據共享等。

5.數據庫、緩存、隊列

Python數據庫、緩存、隊列學習內容為Python操作redis、Python操作memcache、rabbitMQ消息隊列、數據庫介紹、mysql數據庫安裝使用、mysql管理、mysql數據類型、常用mysql命令、創建數據庫、外鍵、增刪改查表、權限、事務、索引、Python操作mysql等。

6.Web開發基礎

Python之Web開發基礎學習內容為HTML基礎、CSS基礎、JavaScript基礎、局部變量和全局變量、集合、數組、字典、函數參數、原型、面向對象、作用域、dom編程、jquery介紹、jquery選擇器、jquery屬性和CSS操作、jquery文檔處理、jquery篩選、jquery事件託管、jquery事件、jquery

ajax、jquery擴展方法、bootstrap使用、EasyUI介紹和使用等。

7.Web框架學習

Python之Web框架學習內容為Web框架本質、socket服務器、基於反射的路由系統、WSGI介紹及原理實現、開發自己的Web框架、MVC和MTV、路由系統、模板、django基礎學習與使用、普通路由和動態路由、模板引擎、ORM介紹、Django

ORM增刪改查學習、自定義tag、django進階學習與使用、模型綁定、Form表單驗證、Django

ORM進階學習、ModelForm、自定義Validator等。

python爬驗證碼

1.找地址

首先,我們要找到這個網站生成驗證碼的地址,這個地址我們可以通過查看他的源代碼來實現。

1.找地址

首先,我們要找到這個網站生成驗證碼的地址,這個地址我們可以通過查看他的源代碼來實現。

就以某大學教務網為例,這個教務網的模板很多學校都在採用:

我就截取表單的驗證碼部分即可。

td align=”center” rowspan=”3″ 

img  id=”imgCode” src=”../sys/ValidateCode.aspx” 

onclick=”changeValidateCode(this)” alt=”單擊可更換圖片!” 

style=”CURSOR: pointer;”

br看不清,則單擊圖片!                                 

/td123456123456

這裡就可以知道,地址就是../sys/ValidateCode.aspx

組合一下地址就是

也就是我們等一下要用到的地址了。

我們可以查看一下那個網頁。

2.處理圖片

去查看了一下那個地址

果不其然,都是亂碼,因為驗證碼分為兩種。

1)直接處理成JPG/GIF/PNG或者其他格式,然後直接讀取到一個圖片地址。

2)接收用戶觸發,然後生成,再直接處理成圖像,不讀取到一個圖片地址。

我們這裡是第二種,我們要自己來讀取他,到本地,再手動輸入驗證碼。

# -*- coding: utf-8 -*-

import urllib2

#驗證碼的處理#

#驗證碼生成頁面的地址#

im_url = ”

#讀取驗證碼圖片#

im_data = urllib2.urlopen(im_url).read()

#打開一個Code.PNG文件在D盤,沒有的話自動生成#

f=open(‘d:\\Code.png’,’wb’)

#寫入圖片內容#

f.write(im_data)

#關閉文件#

f.close()1234567891011121312345678910111213

這裡包括兩個部分:

1)打開那個生成驗證碼圖片的頁面,讀取

2)將讀取到的內容,保存成圖片,下載到本地

我們這裡的地址是可以隨便寫的,保存在你想保存的地方。

到這裡我們就完成了驗證碼的一小部分。

by–LoDog

希望能幫到你!

Python 入門需要學些什麼?

Python相對比較簡單,零基礎也能學。系統學習的話,一般4-6個月左右能學好。

建議大家可以從以下三方面來入手:

①先自學一些python書籍

大家可以從書中了解一些基礎知識,建立一些編程認知。

但是這樣的方式,還是難免會因為沒什麼基礎很快就覺得枯燥了,所以在書籍方面還是建議大家結合視頻課程一起來學習,才能更高效一點。

②網上找相關課程

在mooc網學習的是北京理工大學的一門python公開課,整個流程學習下來能夠了解一些基礎相關,但課程比較淺顯,還是感覺有些不系統,也很難靠自學迅速入門。

③報班學習

很多人對網上報班有些排斥,因為難免會覺得會被割韭菜。但是對於零基礎的小白學習python編程而言,跟着專業系統化一點的團隊一起學習,勢必會更省時省力一點的。

畢竟我們沒有基礎,靠自學又沒啥時間去堅持,能有合適的【線上陪伴式】的課程,還是挺值得一試的。建議大家可以先從體驗課開始,了解清楚課程含金量,看看往期學員的體驗回饋後再報班學習。

Python的學習學習順序如下:

①Python軟件開發基礎

②Python軟件開發進階

③Python全棧式WEB工程師

④Python多領域開發

互聯網行業目前還是最熱門的行業之一,學習IT技能之後足夠優秀是有機會進入騰訊、阿里、網易等互聯網大廠高薪就業的,發展前景非常好,普通人也可以學習。

想要系統學習,你可以考察對比一下開設有相關專業的熱門學校,好的學校擁有根據當下企業需求自主研發課程的能力,能夠在校期間取得大專或本科學歷,中博軟件學院、南京課工場、南京北大青鳥等開設相關專業的學校都是不錯的,建議實地考察對比一下。

祝你學有所成,望採納。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/295103.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-26 17:14
下一篇 2024-12-26 17:14

相關推薦

  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智能、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • Python編程二級證書考試相關現已可以上網購買

    計算機二級Python考試是一項重要的國家級認證考試,也是Python編程的入門考試。與其他考試一樣,Python編程二級證書的考生需要進入正式考試,而為了備考,這篇文章將詳細介紹…

    編程 2025-04-29
  • Python字符串寬度不限制怎麼打代碼

    本文將為大家詳細介紹Python字符串寬度不限制時如何打代碼的幾個方面。 一、保持代碼風格的統一 在Python字符串寬度不限制的情況下,我們可以寫出很長很長的一行代碼。但是,為了…

    編程 2025-04-29
  • 蝴蝶優化算法Python版

    蝴蝶優化算法是一種基於仿生學的優化算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化算法Python版…

    編程 2025-04-29

發表回復

登錄後才能評論