Python嘗試知乎網驗證碼進行處理

      網友投稿 940 2022-05-29

      許多流行的內容管理系統(tǒng)即使加了驗證碼模塊,其眾所周知的注冊頁面也經常會遭到網絡 機器人的垃圾注冊。

      那么,這些網絡機器人究,竟是怎么做的呢?既然我們已經,可以成功地識別出保存在電腦上 的驗證碼了,那么如何才能實現一個全能的網絡機器人呢?

      大多數網站生成的驗證碼圖片都具有以下屬性。

      它們是服務器端的程序動態(tài)生成的圖片。驗證碼圖片的 src 屬性可能和普通圖片不太一 樣,比如?

      text = pytesseract.image_to_string(image)

      print "機器識別后的驗證碼為:" + text

      command = raw_input("請輸入Y表示同意使用,按其他鍵自行重新輸入:")

      if (command == "Y" or command == "y"):

      return text

      else:

      return raw_input('輸入驗證碼:')

      def zhihuLogin(username,password):

      # 構建一個保存Cookie值的session對象

      sessiona = requests.Session()

      headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0'}

      # 先獲取頁面信息,找到需要POST的數據(并且已記錄當前頁面的Cookie)

      html = sessiona.get('https://www.zhihu.com/#signin', headers=headers).content

      # 找到 name 屬性值為 _xsrf 的input標簽,取出value里的值

      _xsrf = BeautifulSoup(html ,'lxml').find('input', attrs={'name':'_xsrf'}).get('value')

      # 取出驗證碼,r后面的值是Unix時間戳,time.time()

      captcha_url = 'https://www.zhihu.com/captcha.gif?r=%d&type=login' % (time.time() * 1000)

      response = sessiona.get(captcha_url, headers = headers)

      data = {

      "_xsrf":_xsrf,

      "email":username,

      "password":password,

      "remember_me":True,

      "captcha": captcha(response.content)

      }

      response = sessiona.post('https://www.zhihu.com/login/email', data = data, headers=headers)

      print response.text

      response = sessiona.get('https://www.zhihu.com/people/maozhaojun/activities', headers=headers)

      print response.text

      if __name__ == "__main__":

      #username = raw_input("username")

      #password = raw_input("password")

      zhihuLogin('xxxx@qq.com','ALAxxxxIME')

      值得注意的是,有兩種異常情況會導致這個程序運行失敗。第一種情況是,如果 Tesseract 從驗證碼圖片中識別的結果不是四個字符(因為訓練樣本中驗證碼的所有有效答案都必須 是四個字符),結果不會被提交,程序失敗。第二種情況是雖然識別的結果是四個字符, 被提交到了表單,但是服務器對結果不認可,程序仍然失敗。

      在實際運行過程中,第一種 情況發(fā)生的可能性大約為 50%,發(fā)生時程序不會向表單提交,程序直接結束并提示驗證碼 識別錯誤。第二種異常情況發(fā)生的概率約為 20%,四個字符都對的概率約是 30%(每個字 母的識別正確率大約是 80%,如果是五個字符都識別,正確的總概率是 32.8%)。

      Python 網絡

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發(fā)現本站中有涉嫌抄襲或描述失實的內容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:華為鯤鵬920處理器榮獲第六屆世界互聯(lián)網大會領先科技成果獎
      下一篇:《嵌入式實時操作系統(tǒng):RT-Thread設計與實現》 —3.3 RT-Thread程序內存分布
      相關文章
      亚洲免费无码在线| 亚洲精品成a人在线观看☆| 亚洲人成在线电影| 中文字幕亚洲电影| 亚洲国产成人VA在线观看| 亚洲欧美乱色情图片| 亚洲欧洲日本在线观看 | 亚洲日本在线观看视频| 亚洲av成人一区二区三区观看在线| 亚洲熟妇无码八V在线播放| 456亚洲人成影院在线观| 性xxxx黑人与亚洲| 亚洲精品美女网站| 亚洲另类自拍丝袜第五页| 亚洲日韩AV一区二区三区中文| 亚洲色大成网站www久久九| 亚洲精品成a人在线观看夫| 精品韩国亚洲av无码不卡区| 国产精品亚洲一区二区三区在线观看| 无码色偷偷亚洲国内自拍| 亚洲Aⅴ无码一区二区二三区软件 亚洲AⅤ视频一区二区三区 | 亚洲第一极品精品无码久久| 亚洲A∨精品一区二区三区| 五月婷婷亚洲综合| 亚洲一本大道无码av天堂| 亚洲视频在线一区二区| 亚洲乱亚洲乱妇无码麻豆| 国产成人精品日本亚洲专区61| 亚洲国产精品一区二区久久hs| 亚洲丁香色婷婷综合欲色啪| 久久亚洲精品成人AV| 91亚洲性爱在线视频| 亚洲综合色婷婷在线观看| 亚洲欧美在线x视频| 久久久久亚洲精品无码网址| 亚洲人成网站在线观看青青| 亚洲精品乱码久久久久久久久久久久| 亚洲阿v天堂在线| 亚洲成人动漫在线观看| 亚洲中文字幕无码中文| 亚洲av高清在线观看一区二区 |