zoukankan      html  css  js  c++  java
  • 登录中国人民银行征信中心

    登录央行征信 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页面可以显示今天第几次登录,说明登录成功了。登录成功后,授权爬取个人信用信息提示,个人信用信息概要,个人信用报告这三种信用信息。
  • 相关阅读:
    MySQL数据库时间查询
    MySQL函数转储存(当前月数据同步)
    字节数截取字符串
    JAVA 内部静态类--解析静态内部类的使用目的与限制
    Java集合框架学习总结
    JDBC中的Statement和PreparedStatement的区别
    java jdbc的优化之BeanUtils组件
    jdbc java数据库连接 11)中大文本类型的处理
    jdbc java数据库连接 10)批处理
    jdbc java数据库连接 9)事务编程
  • 原文地址:https://www.cnblogs.com/ydf0509/p/7589109.html
Copyright © 2011-2022 走看看