php地铁,php 抓取自如友家首页的区域和地铁数据
步骤
使用composer安装 php抓取扩展包
composer require jaeger/querylist
分析自如首页html结构
经过分析发现区域和地铁数据在类名.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] => 苹果园
php地铁,php 抓取自如友家首页的区域和地铁数据相关推荐
- Python中使用Scrapy爬虫抓取上海链家房价信息
文章目录 前言 准备工作 创建一个新的Scrapy项目 定义一个爬虫Spider 导出抓取数据 保存数据到数据库(MongoDB) 前言 之前用python写了一个简单的爬虫项目用来抓取上海链家上的一 ...
- Python进阶之Scrapy利用ImagesPipeline抓取汽车之家宝马5系缩略图
Python进阶之Scrapy利用ImagesPipeline抓取汽车之家宝马5系缩略图 1. 创建项目 2. 使用ImagesPipeline爬取数据 items.py setings.py aut ...
- python爬虫——抓取自如网房源,导出为csv
1.抓取自如网房源,其实为了后面一个小项目做数据采集工作 2.为什么选择自如,是因为我做租房的同学说,自如网的房源质量比较高 3.因为博主是暂居深圳,就先以深圳市的房源为示例 base_url = & ...
- tesseract破解css反爬抓取自如租房信息
引言 作为一个刚毕业两年的打工人,在深圳这种房价压死人的城市,买房是不可能买房了,只能寄希望于租到一个便宜又舒适的房子.今天给大家带来的案例是tesseract破解css反爬抓取自如租房信息,将好房源 ...
- .NET Core 实现定时抓取博客园首页文章信息并发送到邮箱
前言 大家好,我是晓晨.许久没有更新博客了,今天给大家带来一篇干货型文章,一个每隔5分钟抓取博客园首页文章信息并在第二天的上午9点发送到你的邮箱的小工具.比如我在2018年2月14日,9点来到公司我就 ...
- Python实现抓取CSDN博客首页文章列表
1.使用工具: Python3.5 BeautifulSoup 2.抓取网站: csdn首页文章列表 http://blog.csdn.net/ 3.分析网站文章列表代码: 4.实现抓取代码: __a ...
- 抓取了1400家科技公司的招聘信息,我发现数据工程师比数据科学家更有市场
来源:机器之心本文约2300字,建议阅读6分钟掌握工程技能可能是更重要的. 「作为数据科学家,我还有机会吗?」不,你更应该成为数据工程师. 数据无处不在,而且只会越来越多.在过去的 5-10 年内,数 ...
- python scrapy 抓取脚本之家文章(scrapy 入门使用简介)
老早之前就听说过python的scrapy.这是一个分布式爬虫的框架,可以让你轻松写出高性能的分布式异步爬虫.使用框架的最大好处当然就是不同重复造轮子了,因为有很多东西框架当中都有了,直接拿过来使用就 ...
- [Python爬虫] 之十八:Selenium +phantomjs 利用 pyquery抓取电视之家网数据
一.介绍 本例子用Selenium +phantomjs爬取电视之家(http://www.tvhome.com/news/)的资讯信息,输入给定关键字抓取资讯信息. 给定关键字:数字:融合:电视 抓 ...
最新文章
- 简明 HTML CSS 开发规范
- 用OpenCV玩《铁拳》!!!
- Springboot解决IDEA读取properties配置文件的中文乱码问题
- 测试如何学python_如何从0开始学Python自动化测试
- 世界上第一台现代计算机是什么
- 数据的“敏捷制造”,DataWorks一站式数据开发治理范式演进
- 数列分段Section I(洛谷-P1181)
- 1.1机器学习基础-python深度机器学习
- php生成饼状图 柱形图,求一个饼状图或柱状图php生成类或例子
- [软件更新]卡巴斯基全功能安全软件2010简体中文版程序发布
- jlink接口定义接stm32_图解Stm32使用jlink程序时jtag接口(SW和JTAG模式)的简化方法
- 【艾特淘】淘宝保证金催缴单在哪里,要怎么交?
- 网易视频云:为何说张三丰是个优秀的程序员?
- 自己动手打造 mini 型 QQ (二):从局域网到互联网的 miniQQ
- 逆向unity3d手机游戏
- Censored! :ac自动机 + DP
- 酷睿i7 11800h和r7 5800h参数对比 锐龙r75800h和酷睿i711800h选哪个好
- 利用C语言写一个U盘小偷程序
- 工作室课题—贪吃的大嘴(蓝桥杯)
- iOS —— 触摸事件传递及响应与手势
热门文章
- vs 2019使用Installer Project制作安装包的问题
- C语言实验03_判断语句
- P1135 奇怪的电梯题解
- Machine Learning in Action(5) SVM算法
- java使用md5以及jar包下载
- 数据结构之树从入门到如土(一)----大话二叉树 及GO实现
- 10个优秀的Spring Boot开源项目整理分享
- 服务器操作系统应该选择 Debian/Ubuntu 还是 CentOS?
- SCOUT 薄膜分析软件
- 启用数据空间:让VirtualBox虚拟机中的Ubuntu 10.10和XP主机互通有无