Python 3.2:Battle.net scraper在某些URL上提供404

时间:2012-08-09 22:56:17

标签: python screen-scraping http-status-code-404 web-scraping

我正在python中编写一个battle.net屏幕抓取器,我想要抓this page

问题是,当我尝试使用我的脚本下载它时,我得到了404。 但是,在Web浏览器中查看它可以正常工作。

以下是我正在使用的代码(如果需要requests):

def download(url, max_retries=10):
    for i in range(max_retries):
        print('Downloading: ' + url)
        r = requests.get(url)

        print('Status code: ' + str(r.status_code))

        if r.status_code == requests.codes.ok: return r.content
    return None

download('http://us.battle.net/sc2/en/game/unit')

感谢您的回答。

1 个答案:

答案 0 :(得分:0)

试试这个。显然,结尾的斜线是必要的。

def download(url, max_retries=10):
    for i in range(max_retries):
        print('Downloading: ' + url)
        r = requests.get(url)

        print('Status code: ' + str(r.status_code))

        if r.status_code == requests.codes.ok: return r.content
    return None

download('http://us.battle.net/sc2/en/game/unit/')