在Python中检索文件表单URL返回空白

时间:2016-10-16 21:31:05

标签: python urllib

我正在开展国际象棋相关项目,我必须从ChessTempo下载大量文件。

运行以下代码时:

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~文件的预期列表,但它们都是空白的,除了第二个和第三个文件,其中包含正确的数据。

当我手动打开网址时,一切都完美无缺。我错过了什么?

1 个答案:

答案 0 :(得分:1)

事实上,我只能下载文件2& 3,其他所有人都是空的......

您在访问这些文件时是否已登录"手动"? (我假设使用的是网络浏览器。)

如果是这样,FYI的http请求不仅包含URL,还会传输大量其他信息。因此,如果您没有获得相同的信息,您几乎肯定不会提出相同的请求。

在Chrome中,您可以看到您在页面中发出的请求。

开发人员工具转到网络> 从列表中选择一个名称> 请求标题See picture

您可能正在寻找的最可能的事情是 cookies

希望它有所帮助。