登录央行征信 https://ipcrs.pbccrc.org.cn
1 # coding=utf-8
2 import requests
3 import time
4 import os
5 import re
6 from lxml import etree
7 import warnings
8 warnings.filterwarnings("ignore")
9
10 from Logger import Logger
11 logger=Logger(logname='logcrcc.txt', loglevel=1, logger="crcc").getlog()
12 class Crcc(object):
13 headerx={
14 'Host':'ipcrs.pbccrc.org.cn',
15 'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36',
16 }
17 def __init__(self,username,passwd):
18 self.username=username
19 self.passwd=passwd
20 self.ss=requests.Session()
21
22 def loginreg(self):
23 self.headerx.update({'Referer': 'https://ipcrs.pbccrc.org.cn/',})
24 self.ss.get('https://ipcrs.pbccrc.org.cn/login.do?method=initLogin', verify=False,headers=self.headerx)
25 url='https://ipcrs.pbccrc.org.cn/page/login/loginreg.jsp'
26 resp=self.ss.get(url, verify=False,headers=self.headerx)
27 print resp.content.decode('gbk')
28 self.token_value=re.search('taglib.html.TOKEN" value="(.*?)"> ',resp.content).group(1)
29 self.verification_code_url=re.search('<img src="/(.*?)" id="imgrc"',resp.content).group(1)
30 self.date=re.search('<input type="hidden" name="date" value="(.*?)"/>',resp.content).group(1)
31 print self.token_value,self.verification_code_url,self.date,
32
33 def get_verification_code(self):
34
35 self.headerx.update({
36 'Referer': 'https://ipcrs.pbccrc.org.cn/page/login/loginreg.jsp',
37 })
38 url='https://ipcrs.pbccrc.org.cn/%s'%self.verification_code_url
39 resp=self.ss.get(url,verify=False,headers=self.headerx)
40 if not os.path.exists('pictures'):
41 os.mkdir('pictures')
42 self.pic_name='pictures/%s.jpg'%str(time.time()).replace('.','')
43 try:
44 with open(self.pic_name,'wb') as f:
45 f.write(resp.content)
46 print self.pic_name
47 os.system(self.pic_name.replace('/','\')) #TODO win下面
48 except Exception,e:
49 logger.debug(u'保存图片出错,原因是:%s'%(str(e)))
50
51 def login(self):
52 self.get_verification_code()
53 verification_code=raw_input('请输入验证码:')
54 url='https://ipcrs.pbccrc.org.cn/login.do'
55 datax={
56 'org.apache.struts.taglib.html.TOKEN':self.token_value,
57 'method':'login',
58 'date':self.date, #self.date,
59 'loginname':self.username,
60 'password':self.passwd,
61 '_@IMGRC@_':verification_code #verification_code,
62 }
63 self.headerx.update({
64 'Referer':'https://ipcrs.pbccrc.org.cn/login.do',
65 })
66 print datax
67 resp=self.ss.post(url,datax,headers=self.headerx,verify=False)
68 print resp.content.decode('gbk')
69 print self.ss.get('https://ipcrs.pbccrc.org.cn/welcome.do',headers=self.headerx).content.decode('gbk')
70
71 crccx=Crcc('ydfxxx','123456789yyy')
72 #crccx.get_verification_code()
73 crccx.loginreg()
74 crccx.login()
登录成功后,welcome页面可以显示今天第几次登录,说明登录成功了。登录成功后,授权爬取个人信用信息提示,个人信用信息概要,个人信用报告这三种信用信息。