我想通過機械化訪問http://forum.kriminala.net並解析我的收件箱消息。python的機械化和形式︰javascript字符串返回
從HTML代碼中,我可以看到登錄表單是在主頁的嵌套iframe:
<iframe src="login/" style="width: 100%; height: 124px; border-bottom: 2px solid #DDE5EA; box-shadow: 0px 0px 10px #ccc;" frameborder="0" vspace="0" scrolling="no" hspace="0">
...
<form action="" class="auth_form" method="post">
<input type="hidden" name="referer" value="http%3A%2F%2Fforum.kriminala.net%2F">
<input type="text" class="text_input" name="username" placeholder="Имя пользователя" value="" tabindex="1">
<input type="password" class="text_input" name="password" placeholder="Пароль" tabindex="2">
<input type="checkbox" id="autologin" checked="checked" name="autologin" tabindex="3">
<label for="autologin">Запомнить меня</label>
<input type="submit" class="submit_button" id="submit_button" name="login" value="" tabindex="3">
</form>
...
</iframe>
所以我瀏覽到http://forum.kriminala.net/login,找到的形式存在,並與我的用戶名提交和密碼,將結果輸出到文件中(以查看我是否成功登錄)。
br=mechanize.Browser()
br.open("http://forum.kriminala.net/login/")
br.select_form(nr=0)
br["username"]="12n"
br["password"]="123456"
response=br.submit()
htmlpage=open("response.html","w")
htmlpage.writelines(response.get_data())
htmlpage.close()
然而,所有我在文件中看到的是這樣的:
<script type="text/javascript">
window.top.location = 'http://forum.kriminala.net/';
</script>
我的下一個想法是,也許我應該手動去主法師,所以我打開機械化主頁,把它到一個html文件打開瀏覽器,但該文件仍然看起來像我沒有登錄。
我該如何處理?
P.S.我是一個完整的Python noob,所以也許我只是不知道該如何google來獲得我的答案。如果是這種情況,請指出我正確的方向。
謝謝!
是的,這工作完美!,非常感謝! – kurtgn 2014-09-26 16:10:33