网址抓取FINAL_URL返回None
-
19-09-2019 - |
题
我对谷歌应用程序引擎之上运行工作的产品。 它包含类似的代码这样:
result = urlfetch.fetch(url, **parms)
log('%s' %result.final_url)
此总是返回无。在文档它说,它会返回正确的URL。但是,这似乎是一个问题。因为有大量的302之间发生在我不能使用给定的URL。
任何人知道如何解决同样的?
解决方案
测试上 shell.appspot.com 表明FINAL_URL填充在当且仅当重定向之后,并是空白,如果不是:
>>> from google.appengine.api import urlfetch
>>> urlfetch.fetch('http://google.com/').final_url
'http://www.google.com/'
>>> urlfetch.fetch('http://www.google.com/').final_url
因此,要获得最终的URL,只是这样做:
result = urlfetch.fetch(url, **parms)
final_url = result.final_url or url
log('%s' % final_url)
不隶属于 StackOverflow