简短:如何执行/模拟 javascript 重定向
location.href="http://www.site2.com/";
使用 python Mechanize?
我使用 mechanize 模块制作了一个 python 脚本,该脚本在页面中查找链接并跟踪它。
问题出在特定网站上,当我这样做时
br.follow_link("http://www.address1.com")
他将我重定向到这个简单的页面:
<script language="JavaScript">{
location.href="http://www.site2.com/";
self.focus();
}</script>
现在,如果我这样做:
br = mechanize.Browser(factory=mechanize.RobustFactory())
... #other code
br.follow_link("http://www.address1.com")
for link in br.links():
br.follow_link(link)
print link
它不打印任何内容,这意味着该页面中没有链接。
但是如果我手动解析页面并执行:
br.open("http://www.site2.com")
Site2 无法识别我来自“www.address1.com”,并且脚本无法按我希望的方式工作!
抱歉,如果这只是一个新手问题,提前谢谢您!
最佳答案
尝试添加
br.set_handle_referer(True)
构造函数调用之后。
我向您推荐以下选项:
br.set_handle_equiv(True)
br.set_handle_gzip(True)
br.set_handle_redirect(True)
br.set_handle_referer(True)
br.set_handle_robots(False)
关于javascript - 使用 Mechanize for Python 模拟简单的 javascript (location.href=),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12770625/