适用于没有验证码登录,直接post参数登录的方式
# -*- coding: utf-8 -*-
import time
import random
import pickle
import cookielib
import os
import urllib2,urllib
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
class Login(object):
def __init__(self,account,pwd):
self.account=account
self.pwd=pwd
def login_post(self):
file_name='../Cookies/{0}.txt'.format(self.account)
with open(file_name,'w') as f:
f.write('')
cookie=cookielib.MozillaCookieJar(file_name)
handler=urllib2.HTTPCookieProcessor(cookie)
opener=urllib2.build_opener(handler)
agent_list = [
'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.84 Safari/537.36',
'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:48.0) Gecko/20100101 Firefox/48.0'
]
login_url="""http://www.fenjianli.com/login/login.htm"""
headers={
'Host': 'www.fenjianli.com',
'User-Agent': random.choice(agent_list),
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Language': 'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3',
'Referer': 'http://www.fenjianli.com/login/home.htm',
'Connection': 'keep-alive'
}
post_data={
'username':self.account,
'password':self.pwd,
'rememberMe':1
}
login_data=urllib.urlencode(post_data)
req=urllib2.Request(url=login_url,headers=headers,data=login_data)
opener.open(req)
cookie.save(ignore_discard=True, ignore_expires=True)
print "获取",self.account,"账户cookie成功..........................."
def start_login():
with open('account.txt','r') as f:
name_pwds=f.readlines()
for _id,name_pwd in enumerate(name_pwds):
print '='*30+str(_id+1)+'='*30
name_pwd_list=name_pwd.replace('\n','').split(',')
print "开始获取",name_pwd_list[0],"账户cookie..................."
login=Login(name_pwd_list[0],name_pwd_list[1])
login.login_post()
print '=' * 70
time.sleep(5)
from Utlis.utlis_01 import *
def login_remain(fork=True,base=10):
fork_cnt=0
while fork==True:
fork_cnt+=1
print '{0} fork times {1}...'.format(genCurDateTime(),fork_cnt)
start_login()
SleepProgram(base=base)
if __name__=='__main__':
login_remain()