色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

Python中免驗證跳轉到內容頁的實例代碼

瀏覽:2日期:2022-07-07 14:06:40

相信很多人在瀏覽網頁時,經常會碰到需要輸入驗證碼才可以繼續瀏覽的情況吧,遇到這種問題,大多數人只能進行繁瑣的注冊驗證,今天小編教大家只要使用python就可以免驗證方法。

以經常用到的解答網站——上學吧為例,在網站里點擊答案頁面,會顯示驗證后才可以查看提示,下面就使用python實現跳過驗證碼。

Python中免驗證跳轉到內容頁的實例代碼

我們需要通過python構造隨機的 X-Forwarded-For 信息來繞過 ASP 網站的 IP 檢測,可以實現對輸入的網址正確性進行檢查、對驗證碼核驗不通過時的處理等等。

python免驗證跳轉頁面代碼如下:

# 繞過驗證碼無限次獲取上學吧題目答案# 上學吧網址:https://www.shangxueba.com/askimport osimport randomimport requestsimport urllib3urllib3.disable_warnings() # 這句和上面一句是為了忽略 https 安全驗證警告,參考:https://www.cnblogs.com/ljfight/p/9577783.htmlfrom bs4 import BeautifulSoupfrom PIL import Imagedef get_verifynum(session): # 網址的驗證碼邏輯是先去這個網址獲取驗證碼圖片,提交計算結果到另外一個網址進行驗證。r = session.get('https://www.shangxueba.com/ask/VerifyCode2.aspx', verify=False) # HTTPS 請求進行 SSL 驗證或忽略 SSL 驗證才能請求成功,忽略方式為 verify=False。參考:https://www.cnblogs.com/ljfight/p/9577783.htmlwith open(’temp.png’,’wb+’) as f:f.write(r.content)image = Image.open(’temp.png’)image.show() # 調用系統的圖片查看軟件打開驗證碼圖片,如果不能打開,可以自己找到 temp.png 打開。verifynum = input('n請輸入驗證碼圖片中的計算結果:')image.close()os.remove('temp.png')return verifynumdef get_question(session):r = session.get(link)soup = BeautifulSoup(r.content, 'html.parser')description = soup.find(attrs={'name':'description'})[’content’] # 抓取題干內容return descriptiondef get_answer(session, verifynum, dataid):data1 = {'Verify': verifynum,'action': 'CheckVerify',}session.post('https://www.shangxueba.com/ask/ajax/GetZuiJia.aspx', data=data1) # 核查驗證碼正確性data2 = {'phone':'','dataid': dataid,'action': 'submitVerify','siteid': '1001','Verify': verifynum,}r = session.post('https://www.shangxueba.com/ask/ajax/GetZuiJia.aspx', data=data2)soup = BeautifulSoup(r.content, 'html.parser')ans = soup.find(’h6’)print('n' + ’-’*45)if(ans): # 只有驗證碼核查通過才會顯示答案print('n題目:' + get_question(session))print(ans.text)else:print(’n沒有找到答案!請檢查驗證碼或網址是否輸入有誤!n’)print(’-’*45)if __name__ == ’__main__’:s = requests.session()while True:s.headers.update({'X-Forwarded-For':'%d.%d.%d.%d'%(random.randint(120,125),random.randint(1,200),random.randint(1,200),random.randint(1,200))}) # 這一句是整個程序的關鍵,通過修改 X-Forwarded-For 信息來欺騙 ASP 站點對于 IP 的驗證。link = input('n請輸入上學吧網站上某道題目的網址,例如:https://www.shangxueba.com/ask/8952241.htmlnn請輸入:').strip() # 過濾首尾的空格if(link[0:31] != 'https://www.shangxueba.com/ask/' or link[-4:] != 'html'):print('n網址輸入有誤!請重新輸入!n')continuedataid = link.split('/')[-1].replace(r'.html','') # 提取網址最后的數字部分if(dataid.isdigit()): # 根據格式,dataid 應該全部為數字,判斷字符串是否全部為數字,返回 True 或者 Falseverifynum = get_verifynum(s)get_answer(s, verifynum, dataid)else:print('n網址輸入有誤!請重新輸入!n')continue

注意:其中 requests 和 beautifulsoup 兩個庫需要另外安裝,建議使用 pip 方式安裝:

pip install requestspip install beautifulsoup4

Python 腳本運行流程:

首先復制上學吧某道題目的網址,類似以下格式:

Python中免驗證跳轉到內容頁的實例代碼

然后運行python腳本,復制粘貼網址。

Python中免驗證跳轉到內容頁的實例代碼

按Enter鍵,自動下載驗證碼圖片存為 temp.png,然后自動讀取圖片并展示,也可以手動打開同目錄下的 temp.png 圖片。

Python中免驗證跳轉到內容頁的實例代碼

最后在命令行窗口輸入驗證碼圖片中的計算結果即可獲取題目詳情以及正確答案。

Python中免驗證跳轉到內容頁的實例代碼

到此這篇關于Python中免驗證跳轉到內容頁的實例代碼的文章就介紹到這了,更多相關Python如何免驗證跳轉到內容頁內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 欧美日本亚洲国产一区二区 | 久草久草视频 | a毛片免费在线观看 | 2021国产精品系列一区二区 | 国内精品免费一区二区三区 | 国产禁女女网站免费看 | 欧美18毛片免费看 | 欧美视频网站在线观看 | 2021国产精品系列一区二区 | 亚洲图片偷拍自拍 | 极品丝袜高跟91白沙发在线 | 国产三级午夜理伦三级 | 国产免费久久精品99 | 免看一级a毛片一片成人不卡 | 狼人 成人 综合 亚洲 | 在线观看亚洲天堂 | 色天使色婷婷在线影院亚洲 | 三区在线视频 | 国内精品久久久久久 | 日韩欧一级毛片在线播无遮挡 | www久久| 三级三级三级网站网址 | 国产毛片一级 | 日本一级特黄毛片高清视频 | 日韩亚洲欧美一区二区三区 | 人人操美女 | 欧美在线视频看看 | 高清不卡一区二区三区 | 欧美日韩一区二区三区视频播 | 免费人成在线观看视频不卡 | 久久精品国产免费看久久精品 | 亚洲欧美精品久久 | 久久精品a亚洲国产v高清不卡 | 欧美一级片免费看 | 色在线看 | 久久精品久久精品久久 | 欧美午夜成年片在线观看 | 国产在线一区二区三区在线 | 欧美一级日韩在线观看 | 网禁呦萝资源网站在线观看 | 成年人看的毛片 |