simple-Html-Dom解析HTML文件

简介: simple-Html-Dom解析HTML文件


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


在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…



目录
相关文章
|
17天前
|
XML JavaScript 前端开发
xml文件使用及解析
xml文件使用及解析
|
30天前
|
算法 Linux C++
【Linux系统编程】解析获取和设置文件信息与权限的Linux系统调用
【Linux系统编程】解析获取和设置文件信息与权限的Linux系统调用
29 0
|
30天前
|
Java
有关Java发送邮件信息(支持附件、html文件模板发送)
有关Java发送邮件信息(支持附件、html文件模板发送)
30 1
|
1月前
|
安全 Java 数据库连接
jdbc解析excel文件,批量插入数据至库中
jdbc解析excel文件,批量插入数据至库中
21 0
N..
|
1月前
|
移动开发 前端开发 JavaScript
HTML文件
HTML文件
N..
13 1
|
23小时前
|
JSON JavaScript 数据格式
python遍历目录文件_结合vue获取所有的html文件并且展示
python遍历目录文件_结合vue获取所有的html文件并且展示
4 0
|
3天前
|
JavaScript 前端开发 UED
深入解析JavaScript原生操作DOM技术
【4月更文挑战第22天】本文深入探讨JavaScript原生DOM操作技术,包括使用`getElement*`方法和CSS选择器获取元素,借助`createElement`与`appendChild`动态创建及插入元素,修改元素内容、属性和样式,以及删除元素。通过掌握这些技术,开发者能实现页面动态交互,但应注意避免过度操作DOM以优化性能和用户体验。
|
7天前
|
XML C# 数据格式
C# 解析XML文件
C# 解析XML文件
15 1
|
19天前
|
前端开发 JavaScript
HTML深度解析:更改文本颜色
【4月更文挑战第1天】
41 0
HTML深度解析:更改文本颜色
|
1月前
|
SQL Java 数据库连接
springboot解析txt文件顺便加到数据库中(nohup文件)
springboot解析txt文件顺便加到数据库中(nohup文件)
112 1

推荐镜像

更多