php地铁,php 抓取自如友家首页的区域和地铁数据

步骤

使用composer安装 php抓取扩展包

composer require jaeger/querylist

分析自如首页html结构

e3036f03934b47b20b69a0a9811b4172.png

经过分析发现区域和地铁数据在类名.clearfix.filterList下面,所以代码可以这么些:

require_once 'vendor/autoload.php';

$url = 'http://www.ziroom.com/z/nl/z3.html';

$ql = \QL\QueryList::get($url);

//地区

$data = $ql->find('.clearfix.filterList:eq(0)>li .tag a')->texts();

$area_son = [];

$area_parent = [];

$area_p_key = '';

foreach ($data as $k => $v) {

if ($v == '全部'){

$area_parent[] = $data[$k-1];

}

}

foreach ($data as $v) {

if (in_array($v,$area_parent)){

$area_p_key = $v;

}

if ($v != '全部' && !in_array($v,$area_parent)){

$area_son[$area_p_key][] = $v;

}

}

//地铁

$data = $ql->find('.clearfix.filterList:eq(1)>li .tag a')->texts();

$subway_son = [];

$subway_parent = [];

$subway_p_key = '';

foreach ($data as $k => $v) {

if ($v == '全部'){

$subway_parent[] = $data[$k-1];

}

}

foreach ($data as $v) {

if (in_array($v,$subway_parent)){

$subway_p_key = $v;

}

if ($v != '全部' && !in_array($v,$subway_parent)){

$subway_son[$subway_p_key][] = $v;

}

}

var_dump($area_parent);

var_dump($subway_parent);

// p($area_son);

// p($subway_son);

得到如下结果

array (size=13)

0 => string '东城' (length=6)

1 => string '西城' (length=6)

2 => string '朝阳' (length=6)

3 => string '海淀' (length=6)

4 => string '丰台' (length=6)

5 => string '石景山' (length=9)

6 => string '通州' (length=6)

7 => string '昌平' (length=6)

8 => string '大兴' (length=6)

9 => string '顺义' (length=6)

10 => string '房山' (length=6)

11 => string '门头沟' (length=9)

12 => string '亦庄开发区' (length=15)

H:\wamp\www\projects\test\test.php:51:

array (size=21)

0 => string '1号线' (length=7)

1 => string '2号线' (length=7)

2 => string '4号线' (length=7)

3 => string '5号线' (length=7)

4 => string '6号线' (length=7)

5 => string '7号线' (length=7)

6 => string '8号线' (length=7)

7 => string '9号线' (length=7)

8 => string '10号线' (length=8)

9 => string '13号线' (length=8)

10 => string '14号线' (length=8)

11 => string '15号线' (length=8)

12 => string '西郊线' (length=9)

13 => string 'S1号线' (length=8)

14 => string '燕房线' (length=9)

15 => string '16号线' (length=8)

16 => string '八通线' (length=9)

17 => string '昌平线' (length=9)

18 => string '亦庄线' (length=9)

19 => string '房山线' (length=9)

20 => string '机场线' (length=9)

Array

(

[东城] => Array

(

[0] => 安定门

[1] => 安贞

[2] => 崇文门

[3] => 朝阳门内

[4] => 东花市

[5] => 地安门

[6] => 灯市口

[7] => 东四

[8] => 东单

[9] => 东直门

[10] => 广渠门

[11] => 和平里

[12] => 交道口

[13] => 金宝街

[14] => 建国门内

[15] => 天坛

[16] => 西罗园

[17] => 永定门

[18] => 左安门

[19] => 北新桥

[20] => 雍和宫

)

[西城] => Array

(

[0] => 白纸坊

[1] => 长椿街

[2] => 车公庄

[3] => 德胜门

[4] => 阜成门

[5] => 广安门

[6] => 官园

[15号线] => Array

(

[0] => 俸伯

[1] => 顺义

[2] => 石门

[3] => 南法信

[4] => 后沙峪

[5] => 花梨坎

[6] => 国展

[7] => 孙河

[8] => 马泉营

[9] => 崔各庄

[10] => 望京东

[11] => 望京

[12] => 望京西

[13] => 关庄

[14] => 大屯路东

[15] => 安立路

[16] => 奥林匹克公园

[17] => 北沙滩

[18] => 六道口

[19] => 清华东路西口

)

[西郊线] => Array

(

[0] => 巴沟

[1] => 万安

[2] => 茶棚

[3] => 颐和园西门

)

[S1号线] => Array

(

[0] => 苹果园

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值