网贷之家的爬虫之旅

[导读]  因为本人公司正处于P2P的行业,分析行业数据,对平台的运营决策有着很大的作用,因此需要爬网贷之家的相关数据。

1、分析

       通过右键查看页面源代码发现页面结构为表格布局,因此设想可以分为四个步骤来采集数据:

      1、使用爬虫将页面抓取下来;

      2、对页面数据进行解析;

      3、入库(mysql);

      4、写个定时服务每天定时抓取。

      因为公司网站使用PHP,最近也学习了一点,curl非常适合用来爬去网页,决定用PHP程序进行抓取。

2、抓取页面

       网贷之家有一个数据的二级域名,展示所有接入的P2P公司的各种成交数据,输入日期可以查询对应日期的数据(http://shuju.wangdaizhijia.com/indexs-0-0-0-400-0-0.html?startTime=2015-04-04&endTime=2015-04-04),分析url发现只要改变后面的日期就可以分别的抓取各个日期下的数据,分析完毕,找一个url开始抓取;有一个小插曲,刚开始抓取的时候,返回的页面信息都是404.html,最后分析发现网站对非浏览器的请求进行了屏蔽,直接跳转404。后台加绿色代码的部分,成功抓取数据。

function crawl($url){
         $ch = curl_init();
         curl_setopt($ch, CURLOPT_URL, $url);
         curl_setopt($ch, CURLOPT_HEADER, false);
         

curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)');

         curl_setopt($curl, CURLOPT_POST, 1);
         curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
         $result=curl_exec($ch);
         curl_close($ch);
         return $result;
    }

3、解析数据

     查看页面源代码发现,第一行为title去掉,最后两列为平台的连接和关注,均过滤掉。第一列的id需要根据下列的连接来截取,中间的所有数据会有汉子的单位和一些特殊字符,使用preg_replace进行替换,最后按照网贷之家平台的数据格式进行拼接入库的SQL,返回done。

function  analyze($dom,$satTime){
        $html = new simple_html_dom();
        $sql= "insert into XXX_data (XXPlatId,platName,averageMonth,dayTotal,averageRate,investNumber,averageInvestMoney,averageBorrowTime,borrowNumer,borrowBidNumber,averageBorrowMoney,firstTenInvestRate,firstTenBorrowRate,bidEndTime,registerTime,registerMoney,leverageFund,invest30total,repay60total,repayTotal,statisticsTime,excuteTime) values ";
        $html->load($dom);
        $istitle=0;
        foreach($html->find('tr') as $tr){
          $istitle=$istitle+1;
          if($istitle==1){
            continue;
          }
          $sql.="(";
          $count=0;
          foreach($tr->find('td') as $element){
              $count=$count+1;
              if($count==1){
                $href=$element->next_sibling()->find('a', 0)->href;
                $href=strstr($href, '.', TRUE);
                $href=strstr($href,'-');
                $sql.="'".substr($href,1)."',";
              }elseif($count==2){
                $val=$element->find('a', 0)->innertext;
                $sql.="'".$val."',";
              }elseif($count<21){
                $patterns = array();
                $patterns[0] = '/([\x80-\xff]*)/i';
                $patterns[1] = '/[%*]/';
                $val=preg_replace($patterns,'',$element->innertext);
                $sql.="'".$val."',";
              }
          }
          $sql.="'".$satTime."','".date('Y-m-d H:i:s')."'),";
        }
        $sql = substr($sql,0,strlen($sql)-1);
        $sql = strip_tags($sql);
        return $sql;
    }

4、入库

         通过网上的查找学习,发现PHP操作mysql比起java来说更简单,几句代码搞定.

 function  save($sql){
        $con = mysql_connect("192.168.0.1","root","root");
        if (!$con){
           die('Could not connect: ' . mysql_error());
        }
        mysql_select_db("xx_data", $con);
        mysql_query("set names utf8");
        mysql_query($sql);
        mysql_close($con);
    }

5、批量爬取

     通过分析数据的查询条件,每次的查询都是根据url后缀的日期来查询当日交易数据,  http://XXX/indexs.html?startTime=2015-04-01&endTime=2015-04-01,因为只需要遍历历史日期来拼接URl就用来爬取历史的所有交易。

function execute(){
      $starttime="2014-04-15";
      $endtime="2015-04-15";
      for($start = strtotime($starttime); $start <= strtotime($endtime);$start += 86400){
         $date=date('Y-m-d',$start);
         $url="http://shuju.XX.com/indexs.html?startTime=".$date."&endTime=".$date;
         //第一步 抓取
         $dom=crawl($url);
         //第二步  解析
         $sql=analyze($dom,$date);
         //第三步 入库
         save($sql);
     }
      echo  "execute end";
    }

     execute();

6、设置定时服务

       设置定时任务来每天固定时间来抓取最新的数据,以免每次手工来执行,php也有自己的定时任务,但是网上看了下实现起来太复杂,因此利用linux的crontab来实现,linux下面输入crontab –e 进入编辑状态,添加一条定时利用curl来调用,至此爬虫功能完毕。

    30 09 * * * curl  http://192.168.0.1/crawl.php

 

此程序仅供学习交流,如果有需要完整源码的朋友可以单独联系我。

时间: 2024-08-01 07:07:28

网贷之家的爬虫之旅的相关文章

e租宝雇佣黑客攻击网贷之家 帮凶被判二年六个月

2015年末,e租宝因不满网贷之家对其关键信息的披露,雇佣黑客对其网站发起攻击. 2015年9月,北京市第一中级人民法院公开宣判相关涉案者. 将近两年,e租宝这朵"恶之花"终被拔除. 事情是如何发生的呢? 2015年12月3日傍晚,网贷之家发布了关于e租宝所属公司涉嫌非吸的文章,一石激起千层浪,其中涉及e租宝借款标的.借款公司变更等关键数据和信息的报告曝光. 聚光灯迅速投向e租宝,作为实际控制人丁宁得知这一消息后,立刻指示钰诚集团(e租宝母公司)信息办主任胡少楠,找几个黑客攻击网贷之家

合众e贷挺进网贷之家消费金融排行榜前三十

本文讲的是 :  合众e贷挺进网贷之家消费金融排行榜前三十  ,   早在去年8月,银监会等四部委就联合发布<网络借贷信息中介机构业务活动管理暂行办法>,其中明确提出:"网络借贷金额应当以小额为主."监管部门的信号十分明确,无意扼杀蓬勃发展的互联网金融,而是希望网贷行业朝小额分散.普惠金融的方向发展. 可见,监管政策为行业发展指明了方向,对互联网金融的合规发展起到至关重要的作用,而小额分散更是更是成为投资人选择平台的原则. 对此,合众e贷CEO陈敏麟表示,小额分散已经成为平

两只老虎网贷之家战略合作首席研究官深度介入平台业务

11月25日,国内首家权威P2P网贷行业门户网贷之家首席研究官CRO马骏造访了新晋P2P网贷热门平台两只老虎,对平台的运营状况.风险控制状况进行了实地考察,并和两只老虎CEO姚欢进行了深度沟通,基本确定了双方的战略合作.两只老虎网贷之家战略合作 首席研究官深度介入平台业务网贷之家首席研究官CRO马骏毕业于上海交通大学,曾就职与国内领先的量化对冲基金,管理过上亿元的资产,在证券.期货.网贷等金融领域均有涉足.2013年7月加入网贷之家之后开始负责数据分析和行业研究工作,为广大互联网贷款投资人提供了

已经陆续有20家网贷平台资金链出现问题,发生提现困难

 这是网贷诞生以来首次单月爆发如此大量的问题平台.网贷爆发问题平台始于去年淘金贷事件,而去年全年也仅有寥寥数家平台发生问题.一些资深投资者纷纷将资金转入一些前期建立了一定口碑.利息较低的网贷平台. 10月20家网贷平台提现困难 10月对于网贷来说是多事之秋,多家平台频频爆发提现困难是年轻的网贷行业有史以来前所未有过的,光是10月30日这一天内就有信贷网.平海贷和浙商贷3家平台发出提现困难的公告. 据第一财经日报<财商>统计,今年以来,已经有34家网贷平台爆发负责人跑路.资金链断裂.逾期提现等多

陆续有20家网贷平台资金链出现问题,发生提现困难

10月20家网贷平台提现困难 10月对于网贷来说是多事之秋,多家平台频频爆发提现困难是年轻的网贷行业有史以来前所未有过的,光是10月30日这一天内就有信贷网.平海贷和浙商贷3家平台发出提现困难的公告. 据第一财经日报<财商>统计,今年以来,已经有34家网贷平台爆发负责人跑路.资金链断裂.逾期提现等多种问题.按照网贷之家的统计,目前网络贷平台大约有500家,粗略估计,今年以来爆发的问题平台占到平台存量的近7%.而仅仅在10月份,出现问题的平台就有20家,占到存量平台的近4%. 新平台的人气不稳.

P2P网贷“马太效应”上演 问题平台达154家

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 中新网8月6日电 8月5日,知名P2P平台"钱多多"一款名为"多多标"的1000万元融资项目,仅仅7分35秒就满标,创下了P2P交易新记录. 如果,我们据此判断,P2P来钱容易,那就大错特错了. 今年7月初,江西宜春和陕西西安2家P2P平台先后上线,卯足全力,一个月下来,两家平台凑集资金都不足50万元,

浙江10家P2P网贷平台遭立案侦查

近日,运营3年多的浙江省衢州市中宝投资有限公司网贷平台被浙江警方立案调查,再次把网贷P2P推入风口浪尖. P2P网贷,被认为是互联网金融的一种创新模式,指个人与个人通过第三方网络平台相互借贷.而警方最新公布的消息称,浙江有10家平台因涉嫌利用P2P网贷平台进行非法集资犯罪活动被公安机关立案侦查,"中宝投资"只是其中一家. 自去年以来,围绕着 .网贷P2P等互联网金融的争论一直不绝于耳,此次浙江对10家P2P网贷平台的调查,进一步引发了人们对互联网金融的思考. 虚构绝大部分贷款项目 4月

10月以来,已经陆续有20家网贷平台资金链出现问题

摘要: 10月以来,已经陆续有20家网贷平台资金链出现问题,发生提现困难.这是网贷诞生以来首次单月爆发如此大量的问题平台.网贷爆发问题平台始于去年淘金贷事件,而去年全年也仅有寥 10月以来,已经陆续有20家网贷平台资金链出现问题,发生提现困难.这是网贷诞生以来首次单月爆发如此大量的问题平台.网贷爆发问题平台始于去年淘金贷事件,而去年全年也仅有寥寥数家平台发生问题.一些资深投资者纷纷将资金转入一些前期建立了一定口碑.利息较低的网贷平台. 10月20家网贷平台提现困难 10月对于网贷来说是多事之秋,

五月7家网贷平台跑路:网金宝被套金额超1000多万

投资网贷需防陷阱.新华社图 网贷平台跑路仍然频发,继深圳的"旺旺贷"之后,据网贷之家的监测,5月以来已有7家网贷平台跑路或关闭.最新传出疑似跑路的北京平台"网金宝",目前已知该平台被套金额已超过1000多万元. 被套资金超千万 昨日,网金宝的投资者吴先生对记者表示,他从5月以来在该平台投资了5个项目,累计金额10.3万元,至今除了该平台"充一万返奖金"活动中奖励了2700元之外,至今再未拿到利息,目前网站已打不开,负责人也联系不上,本金也杳无踪影