php获取td数据,记一次用PHP做爬虫获取全市高考报考数据
去年使用了Python的BS4+Requests爬取了这个数据,但是不慎rm -rf / 了,这次使用PHP重新爬取一次。
本文仅供学习交流,不要干坏事哦~
首先打开招生考试信息网的查询页面:
然后输入自己的考生号:
查询结果是这个样子的。右键审查元素:
可以看到使用了iframe直接get后端服务器,返回结果是html。接着开始研究这个iframe。
直接访问:
行不通,网页做了防盗链,一般这样的防盗链都是检测header中的refer值,判断来路页面是不是自己域下的,我们使用PHP的Curl携带refer信息来模拟访问下:
//$url和Referer相关敏感信息已删除
$ch = curl_init($url);
curl_setopt ($ch, CURLOPT_HTTPHEADER, array ('Referer:xxxxx') );
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
curl_close($ch);
echo $output;
直接在Windows的cmd里面跑一下:
成了!!
接着想想如何解析这一坨HTML。
因为不会正则表达式,所以用了一种麻烦而且没有技术含量的方法:先删除空格、\t、\n,然后删掉无用的html。
首先删掉无用空格换行符:
function kill1($str) {
$str=preg_replace('# #', '', $str);
$str=str_replace(" ","",$str);
$str=str_replace("\n","",$str);
$str=str_replace("\r","",$str);
$str=str_replace("\t","",$str);
$str=str_replace("\0","",$str);
}
调用这个函数,打印下看看:
接着删掉无用的html就行了。这里有个小问题:怎么把姓名、学校、专业、录取批次给分离开呢?
观察html,这几项中间都隔着html标签,只要把html标签不全删,留下一个符号作为分隔符,使用explode就行了。
继续完善我们的kill函数:
function kill1($str) {
$str=preg_replace('# #', '', $str);
$str=str_replace(" ","",$str);
$str=str_replace("\n","",$str);
$str=str_replace("\r","",$str);
$str=str_replace("\t","",$str);
$str=str_replace("\0","",$str);
$kill_s =[
'
内蒙古普通高校招生录取结果查询系统您查询的录取结果为
php获取td数据,记一次用PHP做爬虫获取全市高考报考数据相关推荐
- 网络爬虫入门:网络爬虫的目的,企业获取数据的方式,可以用于做爬虫的程序语言,爬虫爬取数据的步骤
目录 爬取数据的目的: 1.获取大量数据,用于做数据分析 2.公司项目的测试数据,公司业务所需数据 企业获取数据的方式 1.公司自有数据 2.第三方数据平台购买(数据堂,贵阳大数据交易所) 3.爬虫爬 ...
- 记第一天使用node做爬虫——爬取猫眼电影票房总榜以及指定电影的豆瓣评论前200条
首先,我是一个做前端的应届生,今天朋友想让我帮忙爬取猫眼电影票房总榜的数据,但是我之前一点都没接触过爬虫,但我还是说:okk,我试试: 然后试试就逝世,各种坑接踵而来: 提前声明:这篇文章暂时只是获取 ...
- python获取网页数据判断并提交_【python爬虫网页结构分析】判断数据是在html的静态网页还是在动态网页;找对URL;豆瓣;QQ音乐...
这里的内容如果包含你要的信息,则数据储存在html 比如豆瓣新片榜,我们可以在preview中找到我们想要的榜单内容,则数据储存在HTML 豆瓣新片榜.png 再点[Headers]General 一 ...
- Python爬虫:该如何学习数据爬虫
现行环境下 大数据与人工智能的重要依托还是庞大的数据和分析采集 类似于淘宝 京东 百度 腾讯级别的企业 能够通过数据可观的用户群体获取需要的数据.而一般企业可能就没有这种通过产品获取数据的能力和条件. ...
- 关于Excel操作编写的一个软件设计构思案例[连载] --如何打开Excel文件,获取需要列的数据显示到表格内做修改
如何打开Excel文件,获取需要列的数据显示到表格内做修改? DataSet 读取表格数据 = new DataSet(); Thread 读取, 更新; int 计数 = 0, 定位 = 0, 原条 ...
- Python:照片墙设计,将爬虫获取的照片布局成爱心形状
python照片墙设计 代码规划: 将爬虫爬取的图片进行处理,减小尺寸 将处理好的图片进行照片墙设计 图片处理ImageSolve.py:批量处理 导入库:PIL:图像处理:glob from PIL ...
- python爬虫——对爬到的数据进行清洗的一些姿势(5)
做爬虫,当然就要用数据.想拿数据进行分析,首先清洗数据.这个清洗数据包括清除无用数据列和维度,删除相同数据,对数据进行勘误之类的. 从各大不同新闻网站可以爬到重复新闻...这个可以有.之前为了对爬到的 ...
- 通过jquery获取td下的input标签的值,并且改变onclick的参数值
一.背景 这几篇博客貌似我都是记在笔记本上超过一个月了,手动捂脸!我自己看着都有点陌生,行吧,就当重温一下当时碰到的问题了. 背景是要获取table标签里面的td下的input的对象,并修改它的onc ...
- python获取id标签对应数据_Python--Scrapy爬虫获取简书作者ID的全部文章列表数据
最近Python大火,为了跟上时代,试着自学了下.Scrapy是一个高级的Python爬虫框架,它不仅包含了爬虫的特性,还可以方便的将爬虫数据保存到csv.json等文件中. 今天我们就试着用Scra ...
最新文章
- arm linux gdb调试工具,gdb+gdbserver调试arm-linux程序
- 深度解析工业软件:研究框架(140页)
- java将clob类型文件写到磁盘_Java对Oracle中Clob类型数据的读取和写入
- java 异常 抛 效率_一文带你理清Java异常体系,提高开发效率
- C#easyui combotree 设置节点折叠
- net以execl做数据库_[原创]Net实现Excel导入导出到数据库(附源码)
- 二叉搜索时与双向链表python_JZ26-二叉搜索树与双向链表
- php分区表,【MYSQL】分区表
- 计算机会考补考时间安排,2019-2020学年第二学期初补考考试安排(实时更新)
- 这种简历咋找工作?(运营)
- 秒杀系统架构分析与实战(14155字,26图)
- Java设计模式——策略模式
- Linux内核移植介绍
- Python | 计算给定数字的平方(3种不同方式)
- Python 入门学习路线
- linux连接小米随身wifi密码忘记了,小米路由器无线密码(wifi密码)忘记了怎么办?...
- npoi2.0版本word中插入图片
- 《Unity 3.x游戏开发实例》——1.2节风靡全球的Unity
- amd显卡驱动目录linux,安装ATI Linux显卡驱动
- 排队论(Queuing theory)简介