Mis*_*erU 6 python redirect parsing
我使用HTMLparser制作了一个小解析器,我想知道链接重定向的位置.我不知道如何解释这个,所以请看这个例子:
在我的页面上,我有一个关于源的链接:http://www.myweb.com?out=147,重定向到http://www.mylink.com.我可以http://www.myweb.com?out=147解决没有任何问题,但我不知道如何得到http://www.mylink.com.
小智 11
您可以使用urllib2(urllib.request在Python 3中)及其HTTPRedirectHandler来查找URL将重定向到您的位置.这是一个功能:
import urllib2
def get_redirected_url(url):
opener = urllib2.build_opener(urllib2.HTTPRedirectHandler)
request = opener.open(url)
return request.url
print get_redirected_url("http://google.com/")
# prints "http://www.google.com/"
Run Code Online (Sandbox Code Playgroud)
小智 3
您无法通过解析 HTML 源代码来获取重定向 URL。重定向由服务器触发,而不是由客户端触发。您需要对相关 URL 执行 HTTP 请求并检查服务器的 HTTP 响应 - 特别是 HTTP 状态代码 304(重定向)和新 URL。