#encoding=utf-8
import urllib2
import urllib
import cookielib
def scuGradeBrower(url,user,password):
login_page = "http://www.renren.com/PLogin.do" #行1,此行需更改
try:
cj = cookielib.CookieJar()
opener=urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
opener.addheaders = [('User-agent','Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)')]
data = urllib.urlencode({"email":user,"password":password}) #行2,此行需更改
opener.open(login_page,data)
op=opener.open(url)
data= op.read()
return data
except Exception,e:
print str(e)
f = open('renrenwang.html', 'w')
content = scuGradeBrower("http://www.renren.com/home","xxx","xxx") #行3,此行需更改
f.write(content)
f.close()
上面这段程序用来抓登陆后的人人网,成功。
然后我将#行1、#行3分别更改为:
login_page = "http://202.115.47.141/"
content = scuGradeBrower("http://202.115.47.141/loginAction.do","xxx","xxx")
用来抓学校学生系统登陆后的页面,但是抓取失败,提示证件号不存在,后来经人指点,说#行2可能有问题,查看学生登陆系统的源代码后发现:
于是,把#行2改为:
data = urllib.urlencode({"zjh":user,"mm":password})
但是仍然失败,提示证件号不存在,输入的账户和密码确认一定是正确的,程序用来抓人人网成功,为什么用来抓学生系统就出问题了呢?希望帮忙解决一下,真是万分感谢啊!!