今天发现世纪佳缘的以前登录代码不行了,登录不成功。打印content后有毛病,没跳转过去。
需要再次请求一下登录后返回的<script type='text/javascript'>window.location.replace()中的url。
登录代码改成如下,就是需要多点击一次。
#-*-coding:utf-8-*- import requests,re header={ 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36', } login_url='https://passport.jiayuan.com/dologin.php?host=www.jiayuan.com&new_header=1&channel=index' ss=requests.session() datax={ 'channel':'200', 'position':'201', 'name':'131xxxxxxxx', 'password':'37xxxx', 'remem_pass':'on' } resp=ss.post(login_url,data=datax) print resp.content replace_url=re.findall('''replace('(.*?)')''',resp.content)[0] ss.get(replace_url)
之后再用这个session会话去发信就可以了。