Python 3 칠판 객 파충류 관문 돌파 답(1)
제 가 사용 하 는 파 이 썬 버 전 은 3.5 입 니 다.
제1 관문
http://www.heibanke.com/lesson/crawler_ex 00/각 페이지 에 새로운 숫자 가 나타 납 니 다.이 시험 은 바로 웹 페이지 와 분석 내용 을 얻 는 것 입 니 다.매우 간단 합 니 다.
import requests
import re
#
Q1_url = r'http://www.heibanke.com/lesson/crawler_ex00/'
url = Q1_url
num_re = re.compile(r'<h3>[^\d<]*?(\d+)[^\d<]*?</h3')
while True:
print(' ', url)
html = requests.get(url).text
num = num_re.findall(html)
if len(num) == 0:
break
else:
url = Q1_url + num[0]
print(' !')
출력:
http://www.heibanke.com/lesson/crawler_ex00/
http://www.heibanke.com/lesson/crawler_ex00/19016
http://www.heibanke.com/lesson/crawler_ex00/13579
http://www.heibanke.com/lesson/crawler_ex00/43396
http://www.heibanke.com/lesson/crawler_ex00/39642
http://www.heibanke.com/lesson/crawler_ex00/96911
http://www.heibanke.com/lesson/crawler_ex00/30965
http://www.heibanke.com/lesson/crawler_ex00/67917
http://www.heibanke.com/lesson/crawler_ex00/22213
http://www.heibanke.com/lesson/crawler_ex00/72586
http://www.heibanke.com/lesson/crawler_ex00/48151
http://www.heibanke.com/lesson/crawler_ex00/53639
http://www.heibanke.com/lesson/crawler_ex00/10963
http://www.heibanke.com/lesson/crawler_ex00/65392
http://www.heibanke.com/lesson/crawler_ex00/36133
http://www.heibanke.com/lesson/crawler_ex00/72324
http://www.heibanke.com/lesson/crawler_ex00/57633
http://www.heibanke.com/lesson/crawler_ex00/91251
http://www.heibanke.com/lesson/crawler_ex00/87016
http://www.heibanke.com/lesson/crawler_ex00/77055
http://www.heibanke.com/lesson/crawler_ex00/30366
http://www.heibanke.com/lesson/crawler_ex00/83679
http://www.heibanke.com/lesson/crawler_ex00/31388
http://www.heibanke.com/lesson/crawler_ex00/99446
http://www.heibanke.com/lesson/crawler_ex00/69428
http://www.heibanke.com/lesson/crawler_ex00/34798
http://www.heibanke.com/lesson/crawler_ex00/16780
http://www.heibanke.com/lesson/crawler_ex00/36499
http://www.heibanke.com/lesson/crawler_ex00/21070
http://www.heibanke.com/lesson/crawler_ex00/96749
http://www.heibanke.com/lesson/crawler_ex00/71822
http://www.heibanke.com/lesson/crawler_ex00/48739
http://www.heibanke.com/lesson/crawler_ex00/62816
http://www.heibanke.com/lesson/crawler_ex00/80182
http://www.heibanke.com/lesson/crawler_ex00/68171
http://www.heibanke.com/lesson/crawler_ex00/45458
http://www.heibanke.com/lesson/crawler_ex00/56056
http://www.heibanke.com/lesson/crawler_ex00/87450
http://www.heibanke.com/lesson/crawler_ex00/52695
http://www.heibanke.com/lesson/crawler_ex00/36675
http://www.heibanke.com/lesson/crawler_ex00/25997
http://www.heibanke.com/lesson/crawler_ex00/73222
http://www.heibanke.com/lesson/crawler_ex00/93891
http://www.heibanke.com/lesson/crawler_ex00/29052
http://www.heibanke.com/lesson/crawler_ex00/72996
http://www.heibanke.com/lesson/crawler_ex00/73999
http://www.heibanke.com/lesson/crawler_ex00/23814
http://www.heibanke.com/lesson/crawler_ex00/98084
http://www.heibanke.com/lesson/crawler_ex00/51103
http://www.heibanke.com/lesson/crawler_ex00/39603
http://www.heibanke.com/lesson/crawler_ex00/34316
!
마지막 사이트 에 방문 하여 힌트:축하합니다.답 을 찾 았 습 니 다.파충류 여행 을 계속 하 세 요!
OK,다음 관문 으로 넘 어가 세 요.
제2 관문
http://www.heibanke.com/lesson/crawler_ex01/
출력:
import requests
#
Q2_url = r'http://www.heibanke.com/lesson/crawler_ex01/'
username = 'king'
for x in range(1, 31):
print(' : ', x)
data = {
'username':username,
'password':x
}
html = requests.post(Q2_url, data = data).text
if not ' ' in html:
print(' ', x)
break
로그 인 사이트 로 돌아 가 비밀 번 호 를 입력 하여 관문 을 통과 하 세 요!
제3 관문
http://www.heibanke.com/lesson/crawler_ex02/
이 관문 은 로그 인 이 필요 합 니 다.마음대로 계 정 을 등록 하고 파충류 에서 사용 해 야 합 니 다.또한 Post 에 csrfmiddlewaretoken 이 없어 서 는 안 됩 니 다.지난 관문 에는 이 항목 이 있 었 지만 추가 하지 않 아 도 된다.그러나 이 관문 에는 반드시 이 인 자 를 더 해 야 한다.
header 는 쿠키 를 추가 해 야 합 니 다.
상기 정 보 는 모든 단계 에서 얻 은 웹 페이지 소스 콘 솔 을 인쇄 한 다음 에 분석 한 것 이다.
26
출력:
import requests
#
Q3_url = r'http://www.heibanke.com/lesson/crawler_ex02/'
#
login_url = r'http://www.heibanke.com/lesson/crawler_ex02/'
username =
password =
data = {
'username':username,
'password':password,
'csrfmiddlewaretoken':'CAb4NKnA31NhzjgdPpBfbsIbKIJ1lG8V'
}
headers = {
'Cookie':'sessionid=qx5zdoytvpf2qbtsz2i51hs69zakiu3h; csrftoken=CAb4NKnA31NhzjgdPpBfbsIbKIJ1lG8V'
}
s = requests.Session()
s.headers.update(headers)
html = s.post(login_url, data = data).text
# print(html)
for x in range(20, 31):
data = {
'username':username,
'password':x,
'csrfmiddlewaretoken':'CAb4NKnA31NhzjgdPpBfbsIbKIJ1lG8V'
}
print(' : ', x)
html = s.post(login_url, data = data).text
# print(html)
if not ' ' in html:
print(' ', x)
break
수 동 비밀번호 로 통과!
제4 관문
이전 관문 이 끝 날 때'다음 관문'을 클릭 하고 세 번 째 관문 으로 돌아 가 려 면 수 동 으로 인터넷 주 소 를 바 꿔 야 합 니 다.http://www.heibanke.com/lesson/crawler_ex03/
이 관문 은 여전히 로그 인 이 필요 합 니 다.먼저 비밀 번 호 를 잘못 입력 하고 정확 한 비밀 번 호 를 특정한 사이트 에 알려 줍 니 다.http://www.heibanke.com/lesson/crawler_ex03/pw_list/
모두 13 페이지 로 페이지 마다 비밀 번 호 를 알려 주 었 다.모든 웹 페이지 는 불 러 오 는 속도 가 매우 느 리 고 무려 15 초 동안 설정 되 어 있 으 니 반드시 여러 스 레 드 에 제 사 를 지내 야 할 것 같 습 니 다.Lets's go!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.