首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何获得带有JavaScript的最终重定向URL?

如何获得带有JavaScript的最终重定向URL?
EN

Stack Overflow用户
提问于 2016-01-17 21:24:44
回答 1查看 618关注 0票数 0

我使用urllib2获得了一个网页链接的最终重定向url。例如:http://tbk.bz/t72qx4v3我得到的链接是这样的:

代码语言:javascript
运行
复制
http://taskbucks.com/artcl_out?artcl=24713df2ffb748ec8464638df61d2298

但是,浏览器给出了重定向的最终URL,如下所示:

代码语言:javascript
运行
复制
www.holidayiq.com/blog/6-high-octane-adventure-sports-in-india-that-will-get-your-heart-in-your-throat-1831.html/

我希望在python中获得这个最终的URL。

EN

回答 1

Stack Overflow用户

发布于 2016-01-17 21:25:38

问题是,在http://taskbucks.com/artcl_out?artcl=24713df2ffb748ec8464638df61d2298页面上,有一个"document ready“事件侦听器,它使浏览器在加载时提交一个表单,该表单最终会将您重定向到最终页面:

代码语言:javascript
运行
复制
<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这样的工具来提交这个表单:

代码语言:javascript
运行
复制
>>> 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'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34838820

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档