我使用urllib2获得了一个网页链接的最终重定向url。例如:http://tbk.bz/t72qx4v3我得到的链接是这样的:
http://taskbucks.com/artcl_out?artcl=24713df2ffb748ec8464638df61d2298但是,浏览器给出了重定向的最终URL,如下所示:
www.holidayiq.com/blog/6-high-octane-adventure-sports-in-india-that-will-get-your-heart-in-your-throat-1831.html/我希望在python中获得这个最终的URL。
发布于 2016-01-17 21:25:38
问题是,在http://taskbucks.com/artcl_out?artcl=24713df2ffb748ec8464638df61d2298页面上,有一个"document ready“事件侦听器,它使浏览器在加载时提交一个表单,该表单最终会将您重定向到最终页面:
<script type="text/javascript">
$(document).ready(function() {
$("#fsid").val(new Fingerprint().get());
$("#fsidpe").val(new Fingerprint({canvas: true}).get());
submitReport();
});
function submitReport() {
$("#articleCheck").submit();
}
</script>urllib2不是浏览器,不会在页面加载时提交表单。
相反,我会使用像Mechanize这样的工具来提交这个表单:
>>> import mechanize
>>>
>>> br = mechanize.Browser()
>>> br.open("http://tbk.bz/t72qx4v3")
>>> br.select_form("articleCheck")
>>> br.submit()
>>> br.geturl()
'http://www.holidayiq.com/blog/6-high-octane-adventure-sports-in-india-that-will-get-your-heart-in-your-throat-1831.html?utm_source=taskbucks&utm_medium=share&utm_campaign=referral&channel=taskbucks'https://stackoverflow.com/questions/34838820
复制相似问题