简而言之:如何执行/模拟与蟒蛇机械化的JavaScript重定向?
location.href="http://www.site2.com/";
我已经和机械化模块,寻找一个链接页面,并遵循它的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")
站点2不承认,我来自“www.address1.com”和脚本不工作,我想!
很抱歉,如果它只是一个新手的问题,并预先感谢您!
PS我有br.set_handle_referer(真)
编辑:更多的信息:检查与Fiddler2该链接,它看起来像:
GET http://www.site2.com/ HTTP / 1.1主机:www.site2.com连接:保持活跃的User-Agent:Mozilla的/ 5.0(Windows NT的6.2; WOW64)为AppleWebKit / 537.4(KHTML,例如Gecko)Chrome浏览器/22.0.1229.94 Safari浏览器/ 537.4接受:text / html的,应用/ XHTML + xml的,应用/ XML; q = 0.9,/ q = 0.8的Referer: http://www.address1.com接受编码:gzip,放气,SDCH接受语言:它-IT,它; q = 0.8,EN-US; q = 0.6,连接; q = 0.4
接收字符集:ISO-8859-1,utf-8; Q = 0.7,*; Q = 0.3的Cookie:PHPSESSID = 6e161axxxxxxxxxxx; 用户=名为myUsername;
通过= xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; IP = 79.xx.xx.xx;
剂= a220243a8b8f83de64c6204a5ef7b6eb; __utma = 154746788.943755841.1348303404.1350232016.1350241320.43; __utmb = 154746788.12.10.1350241320; __utmc = 154999999; __utmz = 154746788.134999998.99.6.utmcsr =谷歌| utmccn =(有机)| utmcmd =有机| utmctr =%东西%东西%
因此它似乎是一个cookie的问题?