日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

python怎么跳转到某一行代码_Python中免验证跳转到内容页的实例代码

發(fā)布時(shí)間:2023/12/20 python 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python怎么跳转到某一行代码_Python中免验证跳转到内容页的实例代码 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在本篇文章里小編給大家整理的是一篇關(guān)于Python中免驗(yàn)證跳轉(zhuǎn)到內(nèi)容頁(yè)的實(shí)例代碼,有興趣的朋友們可以學(xué)習(xí)分享下。

相信很多人在瀏覽網(wǎng)頁(yè)時(shí),經(jīng)常會(huì)碰到需要輸入驗(yàn)證碼才可以繼續(xù)瀏覽的情況吧,遇到這種問(wèn)題,大多數(shù)人只能進(jìn)行繁瑣的注冊(cè)驗(yàn)證,今天小編教大家只要使用python就可以免驗(yàn)證方法。

以經(jīng)常用到的解答網(wǎng)站——上學(xué)吧為例,在網(wǎng)站里點(diǎn)擊答案頁(yè)面,會(huì)顯示驗(yàn)證后才可以查看提示,下面就使用python實(shí)現(xiàn)跳過(guò)驗(yàn)證碼。

我們需要通過(guò)python構(gòu)造隨機(jī)的 X-Forwarded-For 信息來(lái)繞過(guò) ASP 網(wǎng)站的 IP 檢測(cè),可以實(shí)現(xiàn)對(duì)輸入的網(wǎng)址正確性進(jìn)行檢查、對(duì)驗(yàn)證碼核驗(yàn)不通過(guò)時(shí)的處理等等。

python免驗(yàn)證跳轉(zhuǎn)頁(yè)面代碼如下:

# 繞過(guò)驗(yàn)證碼無(wú)限次獲取上學(xué)吧題目答案

# 上學(xué)吧網(wǎng)址:https://www.shangxueba.com/ask

importos

importrandom

importrequests

importurllib3

urllib3.disable_warnings()# 這句和上面一句是為了忽略 https 安全驗(yàn)證警告,參考:https://www.cnblogs.com/ljfight/p/9577783.html

frombs4importBeautifulSoup

fromPILimportImage

defget_verifynum(session):# 網(wǎng)址的驗(yàn)證碼邏輯是先去這個(gè)網(wǎng)址獲取驗(yàn)證碼圖片,提交計(jì)算結(jié)果到另外一個(gè)網(wǎng)址進(jìn)行驗(yàn)證。

r=session.get("https://www.shangxueba.com/ask/VerifyCode2.aspx",verify=False)# HTTPS 請(qǐng)求進(jìn)行 SSL 驗(yàn)證或忽略 SSL 驗(yàn)證才能請(qǐng)求成功,忽略方式為 verify=False。參考:https://www.cnblogs.com/ljfight/p/9577783.html

withopen('temp.png','wb+')asf:

f.write(r.content)

image=Image.open('temp.png')

image.show()# 調(diào)用系統(tǒng)的圖片查看軟件打開(kāi)驗(yàn)證碼圖片,如果不能打開(kāi),可以自己找到 temp.png 打開(kāi)。

verifynum=input("\n請(qǐng)輸入驗(yàn)證碼圖片中的計(jì)算結(jié)果:")

image.close()

os.remove("temp.png")

returnverifynum

defget_question(session):

r=session.get(link)

soup=BeautifulSoup(r.content,"html.parser")

description=soup.find(attrs={"name":"description"})['content']# 抓取題干內(nèi)容

returndescription

defget_answer(session,verifynum,dataid):

data1={

"Verify":verifynum,

"action":"CheckVerify",

}

session.post("https://www.shangxueba.com/ask/ajax/GetZuiJia.aspx",data=data1)# 核查驗(yàn)證碼正確性

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):# 只有驗(yàn)證碼核查通過(guò)才會(huì)顯示答案

print("\n題目:"+get_question(session))

print(ans.text)

else:

print('\n沒(méi)有找到答案!請(qǐng)檢查驗(yàn)證碼或網(wǎng)址是否輸入有誤!\n')

print('-'*45)

if__name__=='__main__':

s=requests.session()

whileTrue:

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))})# 這一句是整個(gè)程序的關(guān)鍵,通過(guò)修改 X-Forwarded-For 信息來(lái)欺騙 ASP 站點(diǎn)對(duì)于 IP 的驗(yàn)證。

link=input("\n請(qǐng)輸入上學(xué)吧網(wǎng)站上某道題目的網(wǎng)址,例如:https://www.shangxueba.com/ask/8952241.html\n\n請(qǐng)輸入:").strip()# 過(guò)濾首尾的空格

if(link[0:31]!="https://www.shangxueba.com/ask/"orlink[-4:]!="html"):

print("\n網(wǎng)址輸入有誤!請(qǐng)重新輸入!\n")

continue

dataid=link.split("/")[-1].replace(r".html","")# 提取網(wǎng)址最后的數(shù)字部分

if(dataid.isdigit()):# 根據(jù)格式,dataid 應(yīng)該全部為數(shù)字,判斷字符串是否全部為數(shù)字,返回 True 或者 False

verifynum=get_verifynum(s)

get_answer(s,verifynum,dataid)

else:

print("\n網(wǎng)址輸入有誤!請(qǐng)重新輸入!\n")

continue

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

pip install requestspip install beautifulsoup4

Python 腳本運(yùn)行流程:

首先復(fù)制上學(xué)吧某道題目的網(wǎng)址,類(lèi)似以下格式:

然后運(yùn)行python腳本,復(fù)制粘貼網(wǎng)址。

按Enter鍵,自動(dòng)下載驗(yàn)證碼圖片存為 temp.png,然后自動(dòng)讀取圖片并展示,也可以手動(dòng)打開(kāi)同目錄下的 temp.png 圖片。

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

到此這篇關(guān)于Python中免驗(yàn)證跳轉(zhuǎn)到內(nèi)容頁(yè)的實(shí)例代碼的文章就介紹到這了

掃下方二維碼加老師微信

或是搜索老師微信號(hào):XTUOL1988【切記備注:學(xué)習(xí)Python】

領(lǐng)取Python web開(kāi)發(fā),Python爬蟲(chóng),Python數(shù)據(jù)分析,人工智能等學(xué)習(xí)教程。帶你從零基礎(chǔ)系統(tǒng)性的學(xué)好Python!

也可以加老師建的Python技術(shù)學(xué)習(xí)教程qq裙:245345507,二者加一個(gè)就可以!

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

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

*聲明:本文于網(wǎng)絡(luò)整理,版權(quán)歸原作者所有,如來(lái)源信息有誤或侵犯權(quán)益,請(qǐng)聯(lián)系我們刪除或授權(quán)事宜

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的python怎么跳转到某一行代码_Python中免验证跳转到内容页的实例代码的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。