利用雲打碼來破解登入遇到驗證碼的問題

2021-10-06 06:35:43 字數 2052 閱讀 8758

爬取的目標**,是乙個古詩文**

雲達碼是一款打碼平台,

雲達碼使用流程

對了!還有一點就是,再登入的時候一定要建立會話,否則**寫的再no problem**!都是?單,一定要攜帶cookie去訪問,

# -*- coding = utf-8 -*-

#@time :2020/5/18 13:39

#author :song

#@file 古詩文網驗證碼識別.py

#@software: pycharm

import requests

from fake_useragent import useragent

from lxml import etree

from webspider.day18.verification_code import get_code

defindexhtml

(s):

url =

""r =s.get(url=url,headers=

)return r.text

defdownload_image

(html,s)

: tree = etree.html(html)

#獲取驗證碼

image_src =tree.xpath(

'//*[@id="imgcode"]/@src')[

0]#拼接完整的image url

image_url =

""+ image_src

r =s.get(url=image_url,headers=

)with

open

("yzm.png"

,"wb"

)as fp:

fp.write(r.content)

code =get_code(

"yzm.png"

,1004

)print

(code)

# print(code)

#指令解析

viewstate = __viewstate = tree.xpath(

'//*[@id="aspnetform"]/div[1]/input/@value')[

0]viewstategenerator = __viewstategenerator =tree.xpath(

'//*[@id="aspnetform"]/div[2]/input/@value')[

0]# print(viewstategenerator)

# print(viewstate)

return code,viewstate,viewstategenerator

deflogin

(code,viewstate,viewstategenerator,s)

: post_url=

""formdata=

r =s.post(url=post_url,headers=

,data=formdata)

# print(r.text)

with

open

("gs.html"

,"w"

,encoding=

"utf8"

)as fp:

fp.write(r.text)

defmain()

:#建立會話,來進行登入

s =requests.session(

) html = indexhtml(s)

code,viewstate,viewstategenerator = download_image(html,s)

#登入 login(code,viewstate,viewstategenerator,s)

if __name__ ==

'__main__'

: main(

)

驗證碼破解

驗證碼的功能一般是防止使用程式惡意註冊 暴力破解或批量發帖而設定的。所謂驗證碼,就是將一串隨機產生的數字或符號,生成一幅,裡加上一些干擾象素 防止ocr 由使用者肉眼識別其中的驗證碼資訊,輸入表單提交 驗證,驗證成功後才能使用某項功能。學習驗證碼的破解 識別技術,不僅可以知道驗證碼的原理,而且可以讓...

驗證碼破解

目錄1xx 訊息,一般是告訴客戶端,請求已經收到了,正在處理,別急.2xx 處理成功,一般表示 請求收悉 我明白你要的 請求已受理 已經處理完成等資訊.3xx 重定向到其它地方。它讓客戶端再發起乙個請求以完成整個處理。4xx 處理發生錯誤,責任在客戶端,如客戶端的請求乙個不存在的資源,客戶端未被授權...

利用canvas破解簡單驗證碼

敝校的教務管理系統 貌似不止我們學校用呢 一到選課時間伺服器各種崩不解釋,有時為了選個課就要反覆輸入驗證碼,一想到千千萬萬的大學生把時間浪費在輸入驗證碼上面,我就覺得,我有義務拯救一下人類。搜了一下,看到這篇文章,3年前的文章了。我參考了前半部分,借助tampermonkey這個外掛程式,大概實現了...