2016-10-16 3 views
0

나는 매우 많은 양의 파일을 ChessTempo에서 다운로드해야하는 체스 관련 프로젝트 작업을하고 있습니다. 파이썬에서 파일 형식 URL을 검색하면 공란이 반환됩니다.

하면 다음과 같은 코드를 실행하는 경우 :
import urllib.request 

url = "http://chesstempo.com/requests/download_game_pgn.php?gameids=" 

for i in range (3,500): 
    urllib.request.urlretrieve(url + str(i),'Games/Game ' + str(i) + ".pgn") 
    print("Downloaded file nº " + str(i)) 

나는 500 ~ 파일의 예상 목록을 얻을 수 있지만, 그들에 정확한 데이터가 두 번째와 세 번째 파일을 제외한 모든 비어 있습니다.

URL을 직접 열면 모두 제대로 작동합니다. 내가 뭘 놓치고 있니?

그 파일 "수동"에 액세스하는 동안 당신이 기록 된

답변

1

사실,이 파일 만 2 & 3을 다운로드 할 수 있습니다, 다른 모든 비어 있습니다 ...? (나는 웹 브라우저를 사용하고 있다고 가정한다).

만약 그렇다면 httpI 요청은 URL로 구성되어있을뿐만 아니라 많은 다른 정보가 전송됩니다. 따라서 동일한 정보를 얻지 못한다면 거의 동일한 요청을하지 않을 것입니다.

크롬에서는 페이지 내에서 요청을 볼 수 있습니다. 개발자 도구에서

은>네트워크에하는 것은 이름이 목록을>요청 헤더 (See picture)

당신이 찾고 될 수있는 가장 가능성이 일을 형성 선택 이동쿠키

희망이 있습니다.

관련 문제