본문 바로가기

PYTHON/python_challenge

Python Challenge level 4

Python Challenge level 4

2016.12.21.


 우선 linkedlist.html로 접속을 하면

그림입니다.
원본 그림의 이름: CLP000024b80955.bmp
원본 그림의 크기: 가로 615pixel, 세로 87pixel

이렇게 뜬다.

그래서 다시 linkedlist.php로 접속을 하면 문제가 나온다.

그림입니다.
원본 그림의 이름: CLP000024b80001.bmp
원본 그림의 크기: 가로 645pixel, 세로 629pixel


우선 페이지 소스를 보면 주석 처리된 부분이 있다.

그림입니다.
원본 그림의 이름: CLP000024b80002.bmp
원본 그림의 크기: 가로 437pixel, 세로 30pixel

urllib을 활용해야하는 것 같다. 사실 이것만 봐선 감이 안온다. url 주소를 이용해 뭐 400번 정도만 부르트 포싱을 하면 되는 것 같은데 아직 잘 모르겠다.

그런데 마우스를 움직이다가 사진 위에 마우스를 올렸을 때 마우스 모양이 누를 수 있도록 바뀌는 걸 확인했다. 그래서 사진을 눌렀더니 새로운 페이지가 열렸다.

그림입니다.
원본 그림의 이름: CLP000024b80003.bmp
원본 그림의 크기: 가로 661pixel, 세로 95pixel

뭔가 nothing값을 400번 정도 노가다하며 바꿔야하는 거 같은 느낌이 들지만 일단 nothing에 44827을 넣어보자.


그림입니다.
원본 그림의 이름: CLP000024b80004.bmp
원본 그림의 크기: 가로 659pixel, 세로 83pixel

또 nothing값을 준다. 뜨는 문장의 형식이 같은 걸 보니 파이썬으로 ‘and thd next nothing is’부분을 제외한 숫자만 읽어와 ‘/linkedlist.php?nothing=숫자’이렇게 주소 이동하도록 하고 또 그 url의 숫자 정보만 읽고 주소 이동하고 이런 식으로 짜야할 것 같다. 그냥 무한루프 돌려놓으면 될 거 같다.


혹시 모르니 숫자가 또 and the next nothing is 뒤에 나오는 게 확실한 건지 확인하기 위해 45439로 이동을 해보았다.

그림입니다.
원본 그림의 이름: CLP000024b80005.bmp
원본 그림의 크기: 가로 619pixel, 세로 72pixel

확인하기 무섭게 손이 피곤할 테니 작작하라는 거 같다.


그림입니다.
원본 그림의 이름: CLP000003ac0003.bmp
원본 그림의 크기: 가로 571pixel, 세로 242pixel

nothing=까지 url에 넣고 nothing의 값은 nothing 변수에 해당하는 값을 str형으로 받아오는 num이 된다. next에는 url과 str형인 num을 이어받아 주소로 읽는다.

그 주소의 내용에 and the next nothing is를 제외한 내용 즉, 숫자를 content변수에 넣고 다시 link함수의 인자 nothing에 content를 반환함으로써 다시 또 다른 주소를 열도록 한다.

코드에는 link(94476)이라 되어있는데 처음에 94485부터 시작했다가 중간에 and the next nothing is 94476에서 멈춰서 실행을 중지시키고  코드를 수정한 후 다시 돌렸다.


그림입니다.
원본 그림의 이름: CLP000003ac0002.bmp
원본 그림의 크기: 가로 241pixel, 세로 137pixel

계속 and the next nothing is 숫자가 계속 나오다가 어느 순간 2로 나누고 계속하라는 문장이 뜬다. 근데 사실 코드 돌려놓고 다른 걸 하다가 확인해보니 Yes. Divide by two and keep going을 발견하기 전에 peak.html이 나온 걸 봤다. 원래 저기서 멈추고 코드를 2로 나누는 걸로 수정한 후에 다시 실행시켜야하는데 다른 걸 하느라 너무 오래 돌려놨더니 이미 답이 나왔다. 그래도 원래 의도한대로 풀어보자.


그래서 저기 num값을 결정하는 코드 부분에 수정을 했다.

그림입니다.
원본 그림의 이름: CLP000003ac0004.bmp
원본 그림의 크기: 가로 185pixel, 세로 16pixel

이렇게 하고 다시 돌렸는데 어차피 똑같이 계속 숫자 받아 주소 넣고 하는 식이니까 파이썬 코드를 짜서 어쨌든 peak.html을 본 거에 만족한다.

그림입니다.
원본 그림의 이름: CLP00002a9c0bbe.bmp
원본 그림의 크기: 가로 216pixel, 세로 122pixel

'PYTHON > python_challenge' 카테고리의 다른 글

Python Challenge level 6  (0) 2016.12.23
Python Challenge level 5  (0) 2016.12.22
Python Challenge level 3  (0) 2016.11.23
Python Challenge level 2  (0) 2016.11.14
Python Challenge level 1  (0) 2016.11.14