我跟你讲标题一口气读完PGOne,少侠要不你取个短小精悍的标题留言
时至今日,互联网上还存在不少诞生超过5年的网站。5年不做重大革新的网站,相当于人类60岁不注意身体。老骥伏枥,志在千里。烈士暮年,壮心不已。由于网站数据的不可替代性,仍然顽强地坚挺在第一线供人们使用
例如,有时候连查询功能也没有
网站它的内心:不是我不想拥抱变化,那嵌套Table布局无人能战啊。而且过了那么多年,革新需要很大的勇气和决心
作为不会编程技术的普通人,一个个点击翻页查看吧,毕竟这个网站才8页。假如某一个天一个网站有800页,要找到具体到某个关键字的新闻,那手工翻页可能让你怀疑人生。作为开发者,我们靠程序“”偷懒",哦不——是改变生活
科学技术才是第一生产力
这里分三步,首先我们要从获取数据信息,其次将数据保存到本地数据库,再通过程序构建系统查询。
1-获取数据信息
我们想要获取的数据,没有查询功能
通过浏览器F12查看页面HTML结构。我们发现这是一个典型的嵌套Table布局,在本地创建静态HTML来展示最内层结构
看起来很清爽是不,注意我们这只是9层嵌套table最内层,整个布局要在外层嵌套9级table啊喂,而且咱这是纯HTML。维护时带来灾难的嵌套table布局。
我们要数据
通过使用simple_html_dom的库我们不必关注外层
获取下标为8的table,因为程序中下标从0开始,这是第九个table
看看页面上带来了什么
获取下标为9的数据,
获取到了第一条,这一行竟然是一个table标签。现在如果这要写HTML估计会被打死,冗余标签太多
通过浏览器F12查看页面DOM结构
为了更清晰获取数据,我们在本地构建这一个HTML结构
我们发现数据在a标签内的文本和href属性,日期在table内第二个td的文本,所以
Coding..
页面$data显示结果
将上面的代码改写成函数getTr,循环即可获取这一页中所有数据
showVal($data)显示结果
然而这只是第一页的数据,还有很多页。这时一种方法是针对页码进行类似上面的文档标签解析;另一种,我们观察到第一页520.html,第二页为520_2.html,第三页为520_3.html,所以只用改变访问页面链接地址就可以获取到所有记录
最终获取所有新闻的主函数。默认获取第一页520.html的数据,然后通过array_merge追加每一页的数据到数组$data后
这时我们已经取到全部的数据。
2-保存到本地数据库
设计数据库表。可通过SQL语句创建或者在Navicat新建表填写字段
连接数据库获取数据库全局变量设置为$mysqli
现在将我们获取的数据存入到数据库了,在//TO DO后面加入下列函数。我们获取的数据是在二维数组里,通过foreach循环获取每一行存入到数据库中
3-构建查询系统
建立静态HTML页面search.html,这是PHP开发的基础。少侠你HTML结构不会写,咋用PHP改写,我劝你还是先学HTML几天吧。将这个文件复制一份,改名search.php
最后达到的查询效果,我们把搜索的结果红色高亮
对比之前的静态页面,和我们改写后的PHP页面,有没有悟到点什么。HTML是静态展示型页面的基础,而PHP是服务器动态编程语言,将存放MySQL中的数据,通过PHP语句组合成。试想,如果有10个相似的HTML页面,你只能复制10份代码,而PHP可以通过函数改变参数,只要一个页面就可以生成无数个HTML页面
Apache服务器通过PHP解析器,解析.php文件,最终呈现的结果是HTML文件。用户通过浏览器看到的也是解析之后的结果。按一下F12看到的HTML代码就是了
通过这个案例,对于互联网上任何一个网站,你都可以获取公开的数据,然后构建自己的专属系统,技术改变生活
是不是该点赞一波了
源码下载
100m.fun/download/P2018_101.rar
领取专属 10元无门槛券
私享最新 技术干货