requests.get不返回网页

时间:2017-08-15 23:32:57

标签: python python-requests

尝试返回以下网站时,我收到以下错误:

“此服务器上不存在请求的对象。您所遵循的链接已过时,不准确,或者已指示服务器不允许您拥有该链接。”

任何帮助都会很棒,尝试使用urllib解析,没有运气。将链接粘贴到浏览器中似乎工作正常。

r = requests.get('https://us.spdrs.com/product/fund.seam?ticker=QCAN')
print(r.text)

1 个答案:

答案 0 :(得分:1)

正如@CuriousGeorge所怀疑,结果因来源IP而异:

import requests
response = requests.get('https://us.spdrs.com/product/fund.seam?ticker=QCAN')
for r in response.history:
    print(r.status_code, r.url)
print(response.url)

US:

301 https://us.spdrs.com/product/fund.seam?ticker=QCAN
301 https://us.spdrs.com/en/product/fund.seam?ticker=QCAN
301 https://us.spdrs.com/product/fund.seam?ticker=QCAN
301 https://us.spdrs.com/en/product/fund.seam?ticker=QCAN
301 https://us.spdrs.com/etf/spdr-msci-canada-strategicfactors-etf-QCAN
https://us.spdrs.com/en/etf/spdr-msci-canada-strategicfactors-etf-QCAN

法国:

301 https://us.spdrs.com/product/fund.seam?ticker=QCAN
302 https://fr.spdrs.com/fr/product/fund.seam?ticker=QCAN
301 https://fr.spdrs.com/product/fund.seam?ticker=QCAN
302 https://fr.spdrs.com/fr/product/fund.seam?ticker=QCAN
301 https://fr.spdrs.com/product/index.seam?cid=0
https://fr.spdrs.com/fr/product/index.seam?cid=0

加拿大:

301 https://us.spdrs.com/product/fund.seam?ticker=QCAN
https://global.spdrs.com/product/fund.seam?ticker=QCAN