使用Python的Mechanize提交Html表单时出现问题
我正在尝试使用python登录网站以访问数据。在浏览了web以了解如何尝试这样做之后,我决定使用mechanize模块。我想我已经掌握了代码的基本要点,但是当我提交html表单时,什么也没有发生。代码如下:使用Python的Mechanize提交Html表单时出现问题,python,mechanize,Python,Mechanize,我正在尝试使用python登录网站以访问数据。在浏览了web以了解如何尝试这样做之后,我决定使用mechanize模块。我想我已经掌握了代码的基本要点,但是当我提交html表单时,什么也没有发生。代码如下: import sys,os import mechanize, urllib import cookielib from BeautifulSoup import BeautifulSoup,BeautifulStoneSoup,Tag import datetime, time, sock
import sys,os
import mechanize, urllib
import cookielib
from BeautifulSoup import BeautifulSoup,BeautifulStoneSoup,Tag
import datetime, time, socket
import re,sys,os,mechanize,urllib,time, urllib2
br = mechanize.Browser()
cj = cookielib.LWPCookieJar()
br.set_cookiejar(cj)
# Browser options
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)
# Follows refresh 0 but not hangs on refresh > 0
br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1)
# User-Agent (this is cheating, ok?)
br.addheaders = [('User-agent', 'Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.6')]
br.open('http://ogame.us')
br.select_form(name = 'loginForm' )
br['login'] = 'stackexample'
br['pass'] = 'examplepassword'
br['uni_url'] = ['uni103.ogame.us']
br.submit()
print br.geturl()
来自geturl的响应与我之前所在的url相同。有人知道发生了什么吗?试试这个:
data = br.submit()
html=data.read()
可以直接选择按钮吗
response = br.submit(type="submit", id="loginSubmit")
还有第三个领域的大学,我没有完成。其他一切都是正确的
将来,使用Google Chrome和其他浏览器,您可以通过打开Chrome开发者工具并在网络下查看发送到浏览器的实际请求。这节省了不少时间。它似乎没有起到作用。当我打印html时,我从登录屏幕得到了html,geturl仍然返回登录url。同样,什么也没有。这段代码在其他网站上也能用,这让我很困惑。你试过在登录名和密码周围加括号吗?br['login']=['stackexample']br['pass']=['examplepassword']也许您还需要模拟按下登录按钮,使登录菜单弹出,尽管我怀疑这是否正确。