当Chrome加载页面时,python urllib2.urlopen返回错误500

时间:2016-09-26 14:31:48

标签: python web-scraping urllib2

我有一个网页(http://rating.chgk.info/api/tournaments/3506/)我想通过urllib2在Python 2中打开。它在我的浏览器中打开得非常好,但是当我这样做时:

import urllib2
url = 'http://rating.chgk.info/api/tournaments/3506/'
urllib2.urlopen(url)

我收到HTTP错误500。

我尝试调整User-Agent和Accept标头,但没有任何效果。还有什么可能是问题?

1 个答案:

答案 0 :(得分:1)

您需要先访问网站上的页面以设置会话Cookie:

In [7]: import requests

In [8]: requests.get("http://rating.chgk.info/api/tournaments/3506")
Out[8]: <Response [500]>

In [9]: with requests.Session() as session:
    ...:     session.get("http://rating.chgk.info/index.php/api")
    ...:     response = session.get("http://rating.chgk.info/api/tournaments/3506")
    ...:     print(response.status_code)
    ...:     
200