> php教程 > php手册 > PHP 크롤러를 사용하여 난징 주택 가격 분석

PHP 크롤러를 사용하여 난징 주택 가격 분석

PHP中文网
풀어 주다: 2016-08-20 08:48:20
원래의
2323명이 탐색했습니다.

PHP 크롤러를 사용하여 난징 주택 가격 분석
며칠 전 csdn에서 Python을 사용하여 상하이 주택 가격을 분석하는 크롤러를 작성하는 기사를 보았습니다. 꽤 흥미로운 느낌입니다. 마침 최근에 스네이크 백엔드의 기사 수집에 관해 글을 썼는데, PHP 크롤러를 사용하여 난징의 주택 가격을 분석할 예정입니다. 시작해 보겠습니다.
이 크롤러의 종속 파일: 첫 번째는 마스터 ares333의 CURL 클래스입니다. 초기 버전을 사용하고 있습니다. github 프로젝트 주소는 https://github.com/ares333/php-curlmulti 입니다. 그가 작성한 컬은 정말 멋집니다!
컬렉션은 phpQuery를 사용합니다. 이 카테고리를 모르면 Baidu에서 직접 검색할 수 있습니다.
데이터 소스는 Anjuke를 선택했습니다. 데이터의 양은 여전히 ​​​​난징에 Anjuke 채널을 열었습니다. 페이지 구조 분석을 시작하세요. phpQuery를 사용하여 페이지 구조 수집 방법을 분석하는 방법은 여기서 자세히 소개하지 않겠습니다. 구조를 분석한 후 데이터 테이블 작성을 시작합니다. 먼저 면적 테이블을 생성합니다. 섹션 테이블 구조는 다음과 같습니다. CREATE TABLE `area` (<code class="prettyprint linenums lang-php">CREATE TABLE `area` (<br>  `id` int(11) NOT NULL AUTO_INCREMENT,<br>  `name` varchar(155) NOT NULL COMMENT '南京市区',<br>  `url` varchar(155) NOT NULL COMMENT '房源区域连接',<br>  `pid` int(2) NOT NULL COMMENT '分类',<br>  PRIMARY KEY (`id`)<br>) ENGINE=MyISAM  DEFAULT CHARSET=utf8; `id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(155) NOT NULL COMMENT '난징 도시 지역',PHP 크롤러를 사용하여 난징 주택 가격 분석 `url` varchar(155) NOT NULL COMMENT '주택 면적 연결',
`pid` int(2 ) NOT NULL COMMENT '분류',
PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8; 먼저 지역 서버 데이터를 직접 추가했습니다. 실제로 이러한 데이터를 수집할 수 있습니다. 해당 지역은 주소가 제한되어 있어서 직접 추가한 것입니다. 14개의 데이터가 추가되었습니다:
<?php
// +----------------------------------------------------------------------
// | 采集区域脚本
// +----------------------------------------------------------------------
// | Author: NickBai <1902822973@qq.com>
// +----------------------------------------------------------------------
set_time_limit(0);
require &#39;init.php&#39;;
//根据大区信息前往抓取
$sql = "select * from `area`";
$area = $db->query( $sql )->fetchAll( PDO::FETCH_ASSOC );
foreach($area as $key=>$vo){
    $url = $vo[&#39;url&#39;];
    $result = $curl->read($url);
    $charset = preg_match("/<meta.+?charset=[^\w]?([-\w]+)/i", $result[&#39;content&#39;], $temp) ? strtolower( $temp[1] ) : "";  
    phpQuery::$defaultCharset = $charset;  //设置默认编码
    $html = phpQuery::newDocumentHTML( $result[&#39;content&#39;] );
    $span = $html[&#39;.items .sub-items a&#39;];
    $st = $db->prepare("insert into area(name,url,pid) values(?,?,?)");
    foreach($span as $v){
        $v = pq( $v );
        //为方便分页抓取,先加入分页规则
        $href = trim( $v->attr(&#39;href&#39;) ) . &#39;p*/#filtersort&#39;;
        $st->execute([ trim( $v->text() ), $href, $vo[&#39;id&#39;]]);
    }
}
로그인 후 복사

초기 데이터가 준비되면 모든 지역 블록 입구 주소 수집을 시작할 수 있습니다.
area.php

百家湖 http://nanjing.anjuke.com/sale/baijiahu/p*/#filtersort


코드를 붙여넣으세요. 수집된 단일 데이터는 다음과 같습니다.
CREATE TABLE `hdetail` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `pid` int(5) NOT NULL COMMENT &#39;区域id&#39;,
  `square` int(10) DEFAULT NULL COMMENT &#39;面积&#39;,
  `housetype` varchar(55) DEFAULT &#39;&#39; COMMENT &#39;房屋类型&#39;,
  `price` int(10) DEFAULT &#39;0&#39; COMMENT &#39;单价&#39;,
  `allprice` int(10) DEFAULT &#39;0&#39; COMMENT &#39;总价&#39;,
  `name` varchar(155) DEFAULT &#39;&#39; COMMENT &#39;小区名称&#39;,
  `addr` varchar(155) DEFAULT &#39;&#39; COMMENT &#39;小区地址&#39;,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
로그인 후 복사

데이터 주소가 가능하며, 교체가 가능하도록 페이지 주소에 *를 추가했습니다. 프로그램을 열면 각 모듈 아래의 다른 페이지에서 문서 수집을 시작할 수 있습니다. 가장 중요한 메인 프로그램이 곧 시작됩니다.

수집된 집 번호 정보를 기록하기 위해 새 hdetail 테이블을 만듭니다.

<?php
// +----------------------------------------------------------------------
// | 采集各区具体房源信息
// +----------------------------------------------------------------------
// | Author: NickBai <1902822973@qq.com>
// +----------------------------------------------------------------------
set_time_limit(0);
require &#39;init.php&#39;;
//查询各板块数据
$sql = "select * from `area` where id > 14";
$allarea = $db->query($sql)->fetchAll( PDO::FETCH_ASSOC );
//http://www.php.cn/页面不存在时,会跳转到首页
foreach($allarea as $key=>$vo){
    $url = $vo[&#39;url&#39;];
    $i = 1;
    while ( true ){
        $urls = str_replace( "*" , $i, $url);
        $result = $curl->read( $urls );
        if( "http://nanjing.anjuke.com/sale/" == $result[&#39;info&#39;][&#39;url&#39;] ){
            break;
        }
        $charset = preg_match("/<meta.+?charset=[^\w]?([-\w]+)/i", $result[&#39;content&#39;], $temp) ? strtolower( $temp[1] ) : "";  
        phpQuery::$defaultCharset = $charset;  //设置默认编码
        $html = phpQuery::newDocumentHTML( $result[&#39;content&#39;] );
        $p = $html[&#39;#houselist-mod li .house-details&#39;];
        $isGet = count( $p->elements );  //未采集到内容跳出,视为结束
        if( 0 == $isGet ){
            break;
        }
        foreach($p as $v){
            $sql = "insert into hdetail(pid,square,housetype,price,allprice,name,addr) ";
            $pid = $vo[&#39;id&#39;];
            $square =  rtrim( trim( pq($v)->find("p:eq(1) span:eq(0)")->text() ), "平方米");
            $htype = trim( pq($v)->find("p:eq(1) span:eq(1)")->text() );
            $price = rtrim ( trim( pq($v)->find("p:eq(1) span:eq(2)")->text() ), "元/m²");
            $area = explode(" ", trim( pq($v)->find("p:eq(2) span")->text() ) );
    
            $name =  str_replace( chr(194) . chr(160), "", array_shift($area) );   //utf-8中的空格无法用trim去除,所以采用此方法
            $addr = rtrim( ltrim (trim( array_pop($area) ) , "["), "]" );
            $allprice = trim( pq($v)->siblings(".pro-price")->find("span strong")->text() );
            $sql .= " value( ". $pid .",". $square .", &#39;". $htype ."&#39; ,". $price .",". $allprice .", &#39;". $name ."&#39; ,&#39;". $addr ."&#39; )";
            $db->query($sql);
        }
        echo mb_convert_encoding($vo[&#39;name&#39;], "gbk", "utf-8") . " PAGE : ". $i . PHP_EOL;
        $i++;
    }
}
로그인 후 복사

이제 데이터베이스를 사용할 수 있으므로 기본 프로그램이 표시됩니다.
PHP 크롤러를 사용하여 난징 주택 가격 분석house.php

$sql = "select * from `area` where id > 14";
로그인 후 복사
이전 영역을 건너뛰고 하나씩 모아보세요. cmd 모드에서 이 스크립트를 실행하는 것이 좋습니다. 시간이 오래 걸리기 때문에 브라우저를 사용하면 정지 현상이 발생합니다. cmd 명령을 사용하여 php를 실행하는 방법을 모르는 사람들은 Baidu를 직접 방문하십시오.


PHP 크롤러를 사용하여 난징 주택 가격 분석 느리다고 느끼신다면 house.php 파일의 몇 부분을 복사하시고,

<?php
require "init.php";
$data = unserialize( file_get_contents(&#39;./data/nj.data&#39;) );
if( empty( $data ) ){
    //全南京
    $sql = "select avg(price) price from hdetail";
    $nanjing = intval( $db->query($sql)->fetch( PDO::FETCH_ASSOC )[&#39;price&#39;] );
    //其余数据
    $data = [
        $nanjing,
        getOtherPrice(&#39;2,3,4,5,6,7,8,10&#39;),
        getOtherPrice(&#39;1&#39;),
        getOtherPrice(&#39;2&#39;),
        getOtherPrice(&#39;3&#39;),
        getOtherPrice(&#39;4&#39;),
        getOtherPrice(&#39;5&#39;),
        getOtherPrice(&#39;6&#39;),
        getOtherPrice(&#39;7&#39;),
        getOtherPrice(&#39;8&#39;),
        getOtherPrice(&#39;9&#39;),
        getOtherPrice(&#39;10&#39;),
        getOtherPrice(&#39;11&#39;),
        getOtherPrice(&#39;12&#39;),
        getOtherPrice(&#39;13&#39;)
    ];
    //添加缓存
    file_put_contents(&#39;./data/nj.data&#39;, serialize( $data ));
}
//均价最高TOP10
$sql = "select avg(price) price,name from hdetail GROUP BY name ORDER BY price desc limit 10";
$res = $db->query($sql)->fetchAll( PDO::FETCH_ASSOC );
$x = "";
$y = "";
foreach($res as $vo){
    $x .= "&#39;" . $vo[&#39;name&#39;] . "&#39;,";
    $y .= intval( $vo[&#39;price&#39;] ). ",";
}
//均价最低TOP10
$sql = "select avg(price) price,name from hdetail GROUP BY name ORDER BY price asc limit 10";
$res = $db->query($sql)->fetchAll( PDO::FETCH_ASSOC );
$xl = "";
$yl = "";
foreach($res as $vo){
    $xl .= "&#39;" . $vo[&#39;name&#39;] . "&#39;,";
    $yl .= intval( $vo[&#39;price&#39;] ). ",";
}
//交易房型数据
$sql = "select count(0) allnum, housetype from hdetail GROUP BY housetype order by allnum desc";
$res = $db->query($sql)->fetchAll( PDO::FETCH_ASSOC );
$htype = "";
foreach($res as $vo){
    $htype .= "[ &#39;" . $vo[&#39;housetype&#39;] . "&#39;, " .$vo[&#39;allnum&#39;]. "],";
}
$htype = rtrim($htype, &#39;,&#39;);
//交易的房屋面积数据
$square = [&#39;50平米以下&#39;, &#39;50-70平米&#39;, &#39;70-90平米&#39;, &#39;90-120平米&#39;, &#39;120-150平米&#39;, &#39;150-200平米&#39;, &#39;200-300平米&#39;, &#39;300平米以上&#39;];
$sql = "select count(0) allnum, square from hdetail GROUP BY square";
$squ = $db->query($sql)->fetchAll( PDO::FETCH_ASSOC );
$p50 = 0;
$p70 = 0;
$p90 = 0;
$p120 = 0;
$p150 = 0;
$p200 = 0;
$p250 = 0;
$p300 = 0;
foreach($squ as $key=>$vo){
    if( $vo[&#39;square&#39;] < 50 ){
        $p50 += $vo[&#39;allnum&#39;];
    }
    if( $vo[&#39;square&#39;] >= 50 &&  $vo[&#39;square&#39;] < 70 ){
        $p70 += $vo[&#39;allnum&#39;];
    }
    if( $vo[&#39;square&#39;] >= 70 &&  $vo[&#39;square&#39;] < 90 ){
        $p90 += $vo[&#39;allnum&#39;];
    }
    if( $vo[&#39;square&#39;] >= 90 &&  $vo[&#39;square&#39;] < 120 ){
        $p120 += $vo[&#39;allnum&#39;];
    }
    if( $vo[&#39;square&#39;] >= 120 &&  $vo[&#39;square&#39;] < 150 ){
        $p150 += $vo[&#39;allnum&#39;];
    }
    if( $vo[&#39;square&#39;] >= 150 &&  $vo[&#39;square&#39;] < 200 ){
        $p200 += $vo[&#39;allnum&#39;];
    }
    if( $vo[&#39;square&#39;] >= 200 &&  $vo[&#39;square&#39;] < 300 ){
        $p250 += $vo[&#39;allnum&#39;];
    }
    if( $vo[&#39;square&#39;] >= 300 ){
        $p300 += $vo[&#39;allnum&#39;];
    }
}
$num = [ $p50, $p70, $p90, $p120, $p150, $p200, $p250, $p300 ];
$sqStr = "";
foreach($square as $key=>$vo){
    $sqStr .= "[ &#39;" . $vo . "&#39;, " .$num[$key]. "],";
}
//根据获取ids字符串获取对应的均价信息
function getOtherPrice($str){
    global $db;
    $sql = "select id from area where pid in(" . $str . ")";
    $city = $db->query($sql)->fetchAll( PDO::FETCH_ASSOC );
    $ids = "";
    foreach($city as $v){
        $ids .= $v[&#39;id&#39;] . ",";
    }
    $sql = "select avg(price) price from hdetail where pid in (".rtrim($ids, ",").")";
    $price = intval( $db->query($sql)->fetch( PDO::FETCH_ASSOC )[&#39;price&#39;] );
    return $price;
}
?>
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>南京房价分析</title>
    <link rel="shortcut icon" href="favicon.ico"> <link href="css/bootstrap.min.css?v=3.3.6" rel="stylesheet">
    <link href="css/font-awesome.min.css?v=4.4.0" rel="stylesheet">
    <link href="css/animate.min.css" rel="stylesheet">
    <link href="css/style.min.css?v=4.1.0" rel="stylesheet">
</head>
<body class="gray-bg">
    <p class="wrapper wrapper-content">
        <p class="row">
            <p class="col-sm-12">
                <p class="row">
                    <p class="col-sm-12">
                        <p class="ibox float-e-margins">
                            <p class="ibox-title">
                                <h5>全南京以及各区二手房均价</h5>
                                <p class="ibox-tools">
                                    <a class="collapse-link">
                                        <i class="fa fa-chevron-up"></i>
                                    </a>
                                    <a class="close-link">
                                        <i class="fa fa-times"></i>
                                    </a>
                                </p>
                            </p>
                            <p class="ibox-content">
                               <p id="container"></p>
                            </p>
                        </p>
                    </p>
                </p>
            </p>
        </p>
        <p class="row">
            <p class="col-sm-6">
                <p class="row">
                    <p class="col-sm-12">
                        <p class="ibox float-e-margins">
                            <p class="ibox-title">
                                <h5>均价最高的小区TOP10</h5>
                                <p class="ibox-tools">
                                    <a class="collapse-link">
                                        <i class="fa fa-chevron-up"></i>
                                    </a>
                                    <a class="close-link">
                                        <i class="fa fa-times"></i>
                                    </a>
                                </p>
                            </p>
                            <p class="ibox-content">
                               <p id="avgpriceh"></p>
                            </p>
                        </p>
                    </p>
                </p>
            </p>
            <p class="col-sm-6">
                <p class="row">
                    <p class="col-sm-12">
                        <p class="ibox float-e-margins">
                            <p class="ibox-title">
                                <h5>均价最低的小区TOP10</h5>
                                <p class="ibox-tools">
                                    <a class="collapse-link">
                                        <i class="fa fa-chevron-up"></i>
                                    </a>
                                    <a class="close-link">
                                        <i class="fa fa-times"></i>
                                    </a>
                                </p>
                            </p>
                            <p class="ibox-content">
                               <p id="avgpricel"></p>
                            </p>
                        </p>
                    </p>
                </p>
            </p>
        </p>
        <p class="row">
            <p class="col-sm-6">
                <p class="row">
                    <p class="col-sm-12">
                        <p class="ibox float-e-margins">
                            <p class="ibox-title">
                                <h5>交易房型比例</h5>
                                <p class="ibox-tools">
                                    <a class="collapse-link">
                                        <i class="fa fa-chevron-up"></i>
                                    </a>
                                    <a class="close-link">
                                        <i class="fa fa-times"></i>
                                    </a>
                                </p>
                            </p>
                            <p class="ibox-content">
                               <p id="htype"></p>
                            </p>
                        </p>
                    </p>
                </p>
            </p>
            <p class="col-sm-6">
                <p class="row">
                    <p class="col-sm-12">
                        <p class="ibox float-e-margins">
                            <p class="ibox-title">
                                <h5>交易房屋面积比例</h5>
                                <p class="ibox-tools">
                                    <a class="collapse-link">
                                        <i class="fa fa-chevron-up"></i>
                                    </a>
                                    <a class="close-link">
                                        <i class="fa fa-times"></i>
                                    </a>
                                </p>
                            </p>
                            <p class="ibox-content">
                               <p id="square"></p>
                            </p>
                        </p>
                    </p>
                </p>
            </p>
        </p>
    </p>
    <script type="text/javascript" src="js/jquery.min.js?v=2.1.4"></script>
    <script type="text/javascript" src="js/bootstrap.min.js?v=3.3.6"></script>
    <script type="text/javascript" src="http://cdn.hcharts.cn/highcharts/highcharts.js"></script>
    <script type="text/javascript">
        $(function () {
            $(&#39;#container&#39;).highcharts({
                chart: {
                    type: &#39;column&#39;
                },
                title: {
                    text: &#39;全南京以及各区二手房均价&#39;
                },
                subtitle: {
                    text: &#39;来源于安居客8.16的数据&#39;
                },
                xAxis: {
                    categories: [&#39;全南京&#39;,&#39;江南八区&#39;,&#39;江宁区&#39;,&#39;鼓楼区&#39;,&#39;白下区&#39;,&#39;玄武区&#39;,&#39;建邺区&#39;,&#39;秦淮区&#39;,&#39;下关区&#39;,&#39;雨花台区&#39;,&#39;浦口区&#39;,&#39;栖霞区&#39;,&#39;六合区&#39;,
                    &#39;溧水区&#39;,&#39;高淳区&#39;,&#39;大厂&#39;],
                    crosshair: true
                },
                yAxis: {
                    min: 0,
                    title: {
                        text: &#39;元/m²&#39;
                    }
                },
                tooltip: {
                    headerFormat: &#39;<span style="font-size:10px">{point.key}</span><table>&#39;,
                    pointFormat: &#39;<tr><td style="color:{series.color};padding:0">{series.name}: </td>&#39; +
                    &#39;<td style="padding:0"><b>{point.y:.1f} 元/m²</b></td></tr>&#39;,
                    footerFormat: &#39;</table>&#39;,
                    shared: true,
                    useHTML: true
                },
                plotOptions: {
                    column: {
                        pointPadding: 0.2,
                        borderWidth: 0,
                        dataLabels:{
                         enabled:true// dataLabels设为true    
                        }
                    } 
                },
                series: [{
                    name: &#39;平均房价&#39;,
                    data: [<?php echo implode(&#39;,&#39;, $data); ?>]
                }]
            });
            //均价最高top10
            $(&#39;#avgpriceh&#39;).highcharts({
                chart: {
                    type: &#39;column&#39;
                },
                title: {
                    text: &#39;均价最高的小区TOP10&#39;
                },
                subtitle: {
                    text: &#39;来源于安居客8.16的数据&#39;
                },
                xAxis: {
                    categories: [<?=$x; ?>],
                    crosshair: true
                },
                yAxis: {
                    min: 0,
                    title: {
                        text: &#39;元/m²&#39;
                    }
                },
                tooltip: {
                    headerFormat: &#39;<span style="font-size:10px">{point.key}</span><table>&#39;,
                    pointFormat: &#39;<tr><td style="color:{series.color};padding:0">{series.name}: </td>&#39; +
                    &#39;<td style="padding:0"><b>{point.y:.1f} 元/m²</b></td></tr>&#39;,
                    footerFormat: &#39;</table>&#39;,
                    shared: true,
                    useHTML: true
                },
                plotOptions: {
                    column: {
                        pointPadding: 0.2,
                        borderWidth: 0,
                        dataLabels:{
                         enabled:true// dataLabels设为true    
                        }
                    } 
                },
                series: [{
                    name: &#39;平均房价&#39;,
                    data: [<?=$y; ?>]
                }]
            });
            //均价最低top10
            $(&#39;#avgpricel&#39;).highcharts({
                chart: {
                    type: &#39;column&#39;
                },
                title: {
                    text: &#39;均价最低的小区TOP10&#39;
                },
                subtitle: {
                    text: &#39;来源于安居客8.16的数据&#39;
                },
                xAxis: {
                    categories: [<?=$xl; ?>],
                    crosshair: true
                },
                yAxis: {
                    min: 0,
                    title: {
                        text: &#39;元/m²&#39;
                    }
                },
                tooltip: {
                    headerFormat: &#39;<span style="font-size:10px">{point.key}</span><table>&#39;,
                    pointFormat: &#39;<tr><td style="color:{series.color};padding:0">{series.name}: </td>&#39; +
                    &#39;<td style="padding:0"><b>{point.y:.1f} 元/m²</b></td></tr>&#39;,
                    footerFormat: &#39;</table>&#39;,
                    shared: true,
                    useHTML: true
                },
                plotOptions: {
                    column: {
                        pointPadding: 0.2,
                        borderWidth: 0,
                        dataLabels:{
                         enabled:true// dataLabels设为true    
                        }
                    } 
                },
                series: [{
                    name: &#39;平均房价&#39;,
                    data: [<?=$yl; ?>]
                }]
            });
             // Radialize the colors
            Highcharts.getOptions().colors = Highcharts.map(Highcharts.getOptions().colors, function (color) {
                return {
                    radialGradient: { cx: 0.5, cy: 0.3, r: 0.7 },
                    stops: [
                        [0, color],
                        [1, Highcharts.Color(color).brighten(-0.3).get(&#39;rgb&#39;)] // darken
                    ]
                };
            });
            //房型类型
            $(&#39;#htype&#39;).highcharts({
                chart: {
                    plotBackgroundColor: null,
                    plotBorderWidth: null,
                    plotShadow: false
                },
                title: {
                    text: &#39;交易的二手房型比例&#39;
                },
                tooltip: {
                    pointFormat: &#39;{series.name}: <b>{point.percentage:.1f}%</b>&#39;
                },
                plotOptions: {
                    pie: {
                        allowPointSelect: true,
                        cursor: &#39;pointer&#39;,
                        dataLabels: {
                            enabled: true,
                            format: &#39;<b>{point.name}</b>: {point.percentage:.1f} %&#39;,
                            style: {
                                color: (Highcharts.theme && Highcharts.theme.contrastTextColor) || &#39;black&#39;
                            },
                            connectorColor: &#39;silver&#39;
                        }
                    }
                },
                series: [{
                    type: &#39;pie&#39;,
                    name: &#39;Browser share&#39;,
                    data: [
                        <?=$htype; ?>
                    ]
                }]
            });
            //房型面积类型
            $(&#39;#square&#39;).highcharts({
                chart: {
                    plotBackgroundColor: null,
                    plotBorderWidth: null,
                    plotShadow: false
                },
                title: {
                    text: &#39;交易的二手房面积比例&#39;
                },
                tooltip: {
                    pointFormat: &#39;{series.name}: <b>{point.percentage:.1f}%</b>&#39;
                },
                plotOptions: {
                    pie: {
                        allowPointSelect: true,
                        cursor: &#39;pointer&#39;,
                        dataLabels: {
                            enabled: true,
                            format: &#39;<b>{point.name}</b>: {point.percentage:.1f} %&#39;,
                            style: {
                                color: (Highcharts.theme && Highcharts.theme.contrastTextColor) || &#39;black&#39;
                            },
                            connectorColor: &#39;silver&#39;
                        }
                    }
                },
                series: [{
                    type: &#39;pie&#39;,
                    name: &#39;Browser share&#39;,
                    data: [
                        <?=$sqStr; ?>
                    ]
                }]
            });
        });
    </script>
</body>
</html>
로그인 후 복사
을 수정하여 ID에 맞게 가로채고, 몇 가지 cmd를 더 열어서 실행하시면 됩니다. 다중 프로세스 모드.


이제 기다릴 시간이다. 8.16에 수집해 총 311,226개의 데이터를 수집했다. 좋아요, 이제 숫자가 있으므로 분석을 시작할 수 있습니다. 제가 분석한 코드는


PHP 크롤러를 사용하여 난징 주택 가격 분석
PHP 크롤러를 사용하여 난징 주택 가격 분석
페이지 효과는 다음과 같습니다.PHP 크롤러를 사용하여 난징 주택 가격 분석
PHP 크롤러를 사용하여 난징 주택 가격 분석
PHP 크롤러를 사용하여 난징 주택 가격 분석


ㅎㅎ 집값이 정말 무섭네요. 중고집도 이미 이 가격이에요. 흥미로운 정보가 있으면 직접 찾아보세요.
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿