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发现第二个请求没有伪装成浏览器,修改了一下代码,搞定了. 感谢各位! |