
1 iloahz 2013-08-18 12:56:06 +08:00 formhash一般会在form里面吧,解析一些dom或者正则一下提取出来呗 |
2 kunimi 2013-08-18 13:13:06 +08:00 formhash挺好找的: from bs4 import BeautifulSoup lgurl = 'http://mlook.mobi/member/login' login_page = s.get(lgurl).content soup = BeautifulSoup(login_page) formhash = soup.find_all('input', {'type': 'hidden', 'name': 'formhash'})[0]['value'] Session失效的问题没细看,lz找到答案记得po上来 |
3 allenforrest 2013-08-18 13:13:12 +08:00 1、session会保存cookie没问题,但问题可能不一定出在cookie,建议用浏览器(chrome、firefox)抓一下登陆和后续访问其他页面的http消息,然后和用python requests交互的比较一下(requests可以设置proxies把http重定向到fiddler来抓取),可能网站是判断了其他的http头参数,我之前遇到一个问题就是被判断了referer不正确就拒绝了我的访问,cookie没问题。 2、是否可以用urllib2下载?把requests session的cookie导过来。 |
4 zippera OP |
5 pythoner 2013-08-18 14:24:38 +08:00 1,我运行了你的代码。post之后没有登陆成功(r.html是一个登陆表单) 2,下载文件不一定非得用urllib.urlretrieve()。requests get到数据后写文件也一样 你应该看看登陆post出去的数据,是不是跟你在浏览器里登陆post出去的数据一致。 |
6 zippera OP @allenforrest @pythoner 不好意思,可能是formhash过期了,我修改了上面代码,现在不会存在过期问题了,运行正常。 @kunimi 我使用request.headers发现第二个请求没有伪装成浏览器,修改了一下代码,搞定了. 感谢各位! |