Python 에서 인증 없 이 콘 텐 츠 페이지 로 이동 하 는 인 스 턴 스 코드

4913 단어 Python검증 점프
많은 사람들 이 웹 페이지 를 방문 할 때 인증 코드 를 입력 해 야 계속 조회 할 수 있 는 상황 에 자주 부 딪 힐 것 이 라 고 믿 습 니 다.이런 문제 에 부 딪 히 면 대부분 사람들 은 번 거 로 운 등록 검증 만 할 수 있 습 니 다.오늘 은 python 을 사용 하면 검증 을 면제 할 수 있 는 방법 을 가 르 칩 니 다.
자주 사용 하 는 해답 사이트 인 학교 에 다 니 세 요.예 를 들 어 사이트 에서 답 페이지 를 클릭 하면 검증 후에 야 힌트 를 볼 수 있 습 니 다.다음은 python 을 사용 하여 인증 코드 를 건 너 뛰 는 것 을 실현 합 니 다.

저 희 는 python 구 조 를 통 해 무 작위 로 X-Forward-for 정 보 를 통 해 ASP 사이트 의 IP 검 사 를 돌아 야 합 니 다.입력 한 사이트 의 정확성 을 검사 하고 인증 코드 의 검 사 를 통과 하지 못 할 때의 처리 등 을 실현 할 수 있 습 니 다.
python 인증 면제 페이지 코드 는 다음 과 같 습 니 다.

#                  
#      :https://www.shangxueba.com/ask
import os
import random
import requests
import urllib3
urllib3.disable_warnings() #              https       ,  :https://www.cnblogs.com/ljfight/p/9577783.html
from bs4 import BeautifulSoup
from PIL import Image
def 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.html
with open('temp.png','wb+') as f:
f.write(r.content)
image = Image.open('temp.png')
image.show() #                   ,      ,       temp.png   。
verifynum = input("
:") image.close() os.remove("temp.png") return verifynum def get_question(session): r = session.get(link) soup = BeautifulSoup(r.content, "html.parser") description = soup.find(attrs={"name":"description"})['content'] # return description def 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("
" + '-'*45) if(ans): # print("
:" + get_question(session)) print(ans.text) else: print('
! !
') 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("
, :https://www.shangxueba.com/ask/8952241.html

:").strip() # if(link[0:31] != "https://www.shangxueba.com/ask/" or link[-4:] != "html"): print("
! !
") continue dataid = link.split("/")[-1].replace(r".html","") # if(dataid.isdigit()): # ,dataid , , True False verifynum = get_verifynum(s) get_answer(s, verifynum, dataid) else: print("
! !
") continue
메모:그 중에서 requests 와 beautifulsoup 두 라 이브 러 리 는 따로 설치 해 야 합 니 다.pip 방식 으로 설치 하 는 것 을 권장 합 니 다.
pip install requests
pip install beautifulsoup4
Python 스 크 립 트 실행 절차:
우선 학교 에 다 니 는 것 을 복사 하 세 요.어떤 제목 의 인터넷 주 소 는 다음 과 같은 형식 입 니 다.

그리고 python 스 크 립 트 를 실행 하여 붙 여 넣 기 주 소 를 복사 합 니 다.

Enter 키 를 누 르 면 인증 코드 그림 을 temp.png 로 자동 으로 다운로드 한 다음 그림 을 읽 고 보 여 줍 니 다.같은 디 렉 터 리 에 있 는 temp.png 그림 을 수 동 으로 열 수도 있 습 니 다.

마지막 으로 명령 행 창 에 인증 코드 그림 의 계산 결 과 를 입력 하면 문제 의 상세 한 상황 과 정 답 을 얻 을 수 있 습 니 다.

파 이 썬 에서 인증 을 면제 하고 콘 텐 츠 페이지 로 넘 어 가 는 인 스 턴 스 코드 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 파 이 썬 이 어떻게 검증 을 면제 하고 콘 텐 츠 페이지 로 넘 어 가 는 지 에 관 한 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 저 를 많이 지지 해 주세요!

좋은 웹페이지 즐겨찾기