(대충 url따라 가지말라는 내용)
그래도 따라가 볼 거에요.
이렇게 가다가는 끝도 없을거에요.
말 잘듣는 사람이 됩시다.
문장 뒤에 있는 숫자로 따라 가다보면 언젠간 끝이 보이겠죠.
코드를 작성하기 전에
pip install requests 명령어를 사용해서 requests 모듈을 깔아줍시다.
웹에 연결 요청하려구요.
import requests
import re
pattern = re.compile("[0-9]+")
url = "http://www.pythonchallenge.com/pc/def/linkedlist.php?nothing="
nothing = "12345"
while True:
response = requests.get(url+nothing)
print(response.text)
nothing = re.findall(pattern, response.text)[0]
requests 모듈과 re(정규표현식) 모듈을 import 해주세요.
정규 표현식 패턴은 [0-9]+
+는 한번 이상이라는 뜻이에요.
처음 받은 숫자가 12345라고 숫자 자릿수를 5개로 지정하면
다른 자리의 숫자는 필터가 안될거고
숫자가 없으면 넘어 갈 수가 없잖아요.
대충 변수에 url 넣어주고 숫자가 들어갈 변수도 입력을 합니다.
언제 끝날지 모르니 while문으로 끝날때까지 반복해주고
url로 요청을 날립니다.
response.text . 응답이 텍스트로 날아오는걸 출력해 주시구요.
그냥 findall하면 리스트로 나오니까 작동이 안된대요.
반드시 str이여야 한답니다.
nothing = re.findall(pattern, response.text)[0]
저번에 걍 findall하니까 리스트로 equality가 하나씩 분해되서 저장된걸 볼 수 있었는데
이걸 한곳에 모아주면 되나봐요.
print(nothing)추가해서 잘모아졌나 확인하면서 코드를 실행해 봅시다.
이쁘게 모아졌네요.
근데 손으로 하나하나 치고 들어갔으면 제작자한테 능욕당할 뻔 했어요.
16044로 갔더니 숫자가 없어서 멈췄어요.
2로 나눠서 계속 진행해보래요.
nothing을 8022로 바꿔서 다시 코드를 실행해 봅시다.
쭉쭉 잘되다가 또 멈췄어요.
다음 nothing은 63579인데 잘못찾아 갔네요.
nothing을 63579로 바꿔서 다시 실행합니다.
드디어 뭔가가 나왔습니다.
peak.html
peak.html로 갑시다.
'Security & Hacking > pythonchallenge.com' 카테고리의 다른 글
python challenge 6 (0) | 2019.07.27 |
---|---|
python challenge 5 (0) | 2019.07.13 |
python challenge 3 (0) | 2019.07.12 |
python challenge_2 (0) | 2019.07.12 |
python challenge 1 (0) | 2019.07.12 |