前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >simple-Html-Dom解析HTML文件

simple-Html-Dom解析HTML文件

作者头像
OwenZhang
发布2021-12-08 16:35:00
1.8K0
发布2021-12-08 16:35:00
举报
文章被收录于专栏:Owen's WorldOwen's World

要想获得网页源码里的指定内容需要用到正则表达式!正则表达式,让我猝不及防,因为之前没有接触过,用起来非常的吃力!

在Java中,有大牛封装好的库,我使用的是Jsoup。将Jsuop的Jar包引入项目中,指定好唯一标示,再使用选择器,就可以将数据解析出来,最近接触到了PHP,就像使用PHP解析个新闻来玩玩!Jsoup解析滁州学院官网获取信息列表

正如我刚才所说,正规的做法就是使用正则表达式获取数据!搞了好长时间,真心驾驭不住!无论怎样研究,都没有什么卵用!

最后我通过Google搜索引擎,搜索到一篇文章,文章里介绍几种调用PHP文件来解析HTML的方法,真是天助我也!

文章我待会给转载发布出来,因为我找到的也是比人通过“转载器”发表的,既然很有用,我就给它搬过来!

昨天我使用Simple-Html-Dom.php文件,解析糗事百科首页的糗事,并定时,15分钟获取一次!因为刚刚接触PHP,昨天在11点半断网之前刚把代码发布到SAE上,有点担心代码不能正常运行,毕竟对PHP一点都不了解!

今早起来,一看数据库

这酸爽,数据太多了,太多也没用,我就关闭了获取!

下面来讲讲如何使用Simple-Html-Dom来解析HTML(小弟接触php不到两天),如果大牛看到,呵呵一笑,最好给点意见,不要喷,怕被喷!

1、下载Simple-Html-Dom压缩文件

去官网(sourceforge.net/projects/si…;

2、解压文件

解压文件会发现如下文件

你需要用到的方法,demo里基本上都有,就看你怎么使用了

大家看如下代码,会发现是如何引入php文件和方法的

<?php // example of how to use basic selector to retrieve HTML contents include('../simple_html_dom.php');//引入php核心文件,注意路径,不要写错

// get DOM from URL or file $html = file_get_html('www.google.com/');

// find all link foreach(html?>find(′a′)ashtml->find('a') as html?>find(′a′)ase) echo $e->href . ' ';

// find all image foreach(html?>find(′img′)ashtml->find('img') as html?>find(′img′)ase) echo $e->src . ' ';

// find all image with full tag foreach(html?>find(′img′)ashtml->find('img') as html?>find(′img′)ase) echo $e->outertext . ' ';

// find all div tags with id=gbar foreach(html->find('div#gbar') as e) echo $e->innertext . ' ';

// find all span tags with class=gb1 foreach(html?>find(′span.gb1′)ashtml->find('span.gb1') as html?>find(′span.gb1′)ase) echo $e->outertext . ' ';

// find all td tags with attribite align=center foreach(html->find('td\[align=center\]') as e) echo $e->innertext . ' ';

// extract text from table echo $html->find('td[align="center"]', 1)->plaintext.'

';

// extract text from HTML echo $html->plaintext; ?> 还有这个php文件 <?php // example of how to use advanced selector features include('../simple_html_dom.php');

// ----------------------------------------------------------------------------- // descendant selector $str = <<<HTML

ok

HTML;

html=str_get_html(html = str\_get\_html(html=str_get_html(str); echo $html->find('div div div', 0)->innertext . ' '; // result: "ok"

// ----------------------------------------------------------------------------- // nested selector $str = <<<HTML

  • item:1
  • item:2
  • item:3
  • item:4

HTML;

html=str_get_html(html = str\_get\_html(html=str_get_html(str); foreach(html?>find(′ul′)ashtml->find('ul') as html?>find(′ul′)asul) { foreach(ul?>find(′li′)asul->find('li') as ul?>find(′li′)asli) echo $li->innertext . ' '; }

// ----------------------------------------------------------------------------- // parsing checkbox $str = <<<HTML

item1 item2 item3 HTML;

html=str_get_html(html = str\_get\_html(html=str_get_html(str); foreach(html->find('input\[type=checkbox\]') as checkbox) { if (checkbox?>checked)echocheckbox->checked) echo checkbox?>checked)echocheckbox->name . ' is checked '; else echo $checkbox->name . ' is not checked '; } ?> 这个Demo讲解的更加详细,虽然简洁但是不简单!大家如果感兴趣,可以下载运行一下试试

要想获得网页源码里的指定内容需要用到正则表达式!正则表达式,让我猝不及防,因为之前没有接触过,用起来非常的吃力!

在Java中,有大牛封装好的库,我使用的是Jsoup。将Jsuop的Jar包引入项目中,指定好唯一标示,再使用选择器,就可以将数据解析出来,最近接触到了PHP,就像使用PHP解析个新闻来玩玩!Jsoup解析滁州学院官网获取信息列表

正如我刚才所说,正规的做法就是使用正则表达式获取数据!搞了好长时间,真心驾驭不住!无论怎样研究,都没有什么卵用!

最后我通过Google搜索引擎,搜索到一篇文章,文章里介绍几种调用PHP文件来解析HTML的方法,真是天助我也!

文章我待会给转载发布出来,因为我找到的也是比人通过“转载器”发表的,既然很有用,我就给它搬过来!

昨天我使用Simple-Html-Dom.php文件,解析糗事百科首页的糗事,并定时,15分钟获取一次!因为刚刚接触PHP,昨天在11点半断网之前刚把代码发布到SAE上,有点担心代码不能正常运行,毕竟对PHP一点都不了解!

今早起来,一看数据库

这酸爽,数据太多了,太多也没用,我就关闭了获取!

下面来讲讲如何使用Simple-Html-Dom来解析HTML(小弟接触php不到两天),如果大牛看到,呵呵一笑,最好给点意见,不要喷,怕被喷!

1、下载Simple-Html-Dom压缩文件

去官网(sourceforge.net/projects/si…;

2、解压文件

解压文件会发现如下文件

你需要用到的方法,demo里基本上都有,就看你怎么使用了

大家看如下代码,会发现是如何引入php文件和方法的<?php // example of how to use basic selector to retrieve HTML contents include('../simple_html_dom.php');//引入php核心文件,注意路径,不要写错

// get DOM from URL or file $html = file_get_html('www.google.com/');

// find all link foreach(html?>find(′a′)ashtml->find('a') as html?>find(′a′)ase) echo $e->href . ' ';

// find all image foreach(html?>find(′img′)ashtml->find('img') as html?>find(′img′)ase) echo $e->src . ' ';

// find all image with full tag foreach(html?>find(′img′)ashtml->find('img') as html?>find(′img′)ase) echo $e->outertext . ' ';

// find all div tags with id=gbar foreach(html->find('div#gbar') as e) echo $e->innertext . ' ';

// find all span tags with class=gb1 foreach(html?>find(′span.gb1′)ashtml->find('span.gb1') as html?>find(′span.gb1′)ase) echo $e->outertext . ' ';

// find all td tags with attribite align=center foreach(html->find('td\[align=center\]') as e) echo $e->innertext . ' ';

// extract text from table echo $html->find('td[align="center"]', 1)->plaintext.'

';

// extract text from HTML echo $html->plaintext; ?> 还有这个php文件 <?php // example of how to use advanced selector features include('../simple_html_dom.php');

// ----------------------------------------------------------------------------- // descendant selector $str = <<<HTML

ok

HTML;

html=str_get_html(html = str\_get\_html(html=str_get_html(str); echo $html->find('div div div', 0)->innertext . ' '; // result: "ok"

// ----------------------------------------------------------------------------- // nested selector $str = <<<HTML

  • item:1
  • item:2
  • item:3
  • item:4

HTML;

html=str_get_html(html = str\_get\_html(html=str_get_html(str); foreach(html?>find(′ul′)ashtml->find('ul') as html?>find(′ul′)asul) { foreach(ul?>find(′li′)asul->find('li') as ul?>find(′li′)asli) echo $li->innertext . ' '; }

// ----------------------------------------------------------------------------- // parsing checkbox $str = <<<HTML

item1 item2 item3 HTML;

html=str_get_html(html = str\_get\_html(html=str_get_html(str); foreach(html->find('input\[type=checkbox\]') as checkbox) { if (checkbox?>checked)echocheckbox->checked) echo checkbox?>checked)echocheckbox->name . ' is checked '; else echo $checkbox->name . ' is not checked '; } ?> 这个Demo讲解的更加详细,虽然简洁但是不简单!大家如果感兴趣,可以下载运行一下试试 文件下载download.csdn.net/download/qq…

本文参与?腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021年10月22日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体同步曝光计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com