2014-02-12 4 views
0

URL을 통해 스도쿠를 읽으 려하고 스도쿠가 포함 된 동일한 페이지를 열고 싶습니다. 방금 URL을 읽었습니다.
"show.websudoku.com"url을 읽음으로써 sudokus를 읽을 수 있지만, 방금 읽은 동일한 페이지를 열려고 할 때마다 사이트에서 스도쿠를 새로 고침하기 때문에 URL에서 읽은 것보다 다른 sudoku를 얻습니다. 시각. 나는 쿠키 libs 보이지만 그들을 사용하는 방법을 이해하지 않습니다. 쿠키를 사용해야합니까 (이 경우), 아니면 더 쉬운 것이 있습니까?(python 3.3) URL을 읽고 urlib 요청을 사용하여 브라우저에서 동일한 페이지 열기 (새로 고침하지 않음)

import urllib.request 
import webbrowser 

url="http://show.websudoku.com" 

response = urllib.request.urlopen('http://show.websudoku.com/') 

webbrowser.open("http://show.websudoku.com") ## This page displays different sudoku than print(html) 

html = response.read() 
print (html) 

답변

0

동일한 스도쿠를 반복해서 가져올 수있는 메커니즘이이 웹 사이트에 있는지 확실하지 않습니다. 어떤 스도쿠를 보내는 결정은 서버 측에서 수행됩니다.

문제의 한 가지 해결책은 첫 번째 페이지의 결과를 저장하고 원하는 데이터를 계속해서 액세스하는 것입니다.

목표가 완고한 스도쿠를 검증하는 것이라면 페이지를 다시로드 할 필요없이 올바른 양식 값만 보내면됩니다. 첫 페이지에서 가져와 필요한 필드를 변경하고 POST 요청을 발행하십시오.

그러나이 특정 사이트의 경우 서버에 가입 할 필요가 없으며 응답은 페이지에 포함됩니다. "치트"라는 id를 가진 들판을 보아라. 그것은 라인별로 정리 된 모든 자릿수를 포함합니다. 그리고 id가 "editmask"인 필드는 표시되는 숫자 (0)와 편집 가능한 필드 (1)로 변환되어야하는 셀을 제어합니다.

+0

답변을 주셔서 감사합니다. URL에 이미 해결 된 스도쿠가 표시되어 있지만 '특정'스도쿠 문제를 표시하는 브라우저에서 웹 페이지를 열 수는 없습니다. 귀하의 답변에서 알 수 있듯이 쿠키는 관련이 없으므로 동일한 페이지를 탐색 할 수 없습니다. 하지만 사이트를 수정하는 방법이 있어야한다고 생각합니다. 그렇지 않으면 웹 페이지와 url.read 파일을 열 수 없습니다. 일부 사이트는 변경 될 때마다/클릭 할 때마다 새로 고침되기 때문입니다. – talha