html dom解析,php html网页分析,dom解析,html解析操作类 simple_html_dom

Simple HTML DOM是国外的一款DOM分析工具,使用php编写,整个类库一千七百多行代码,着实庞大。
本文简单介绍 simple html dom 的使用,
利用php网页分析,非常适用于各种用php写的网络爬虫,
爬过来的页面直接使用simple html dom 进行分析
官方文档 http://simplehtmldom.sourceforge.net/manual.htm

快速入门使用介绍

<?php
include "simple_html_dom.php";
// Create DOM from URL or file
$html = file_get_html('http://www.google.com/');

// Find all images
foreach($html->find('img') as $element)
       echo $element->src . '<br>';

// Find all links
foreach($html->find('a') as $element)
       echo $element->href . '<br>';

修改html元素

// Create DOM from string
$html = str_get_html('<div id="hello">Hello</div><div id="world">World</div>');

$html->find('div', 1)->class = 'bar';

$html->find('div[id=hello]', 0)->innertext = 'foo';

echo $html; // Output: <div id="hello">foo</div><div id="world" class="bar">World</div>

输出所有页面可见内容

// Dump contents (without tags) from HTML
echo file_get_html('http://www.google.com/')->plaintext;

官方参考(需自行修改后测试,否则bug)

// Create DOM from URL
$html = file_get_html('http://slashdot.org/');

// Find all article blocks
foreach($html->find('div.article') as $article) {
    $item['title']     = $article->find('div.title', 0)->plaintext;
    $item['intro']    = $article->find('div.intro', 0)->plaintext;
    $item['details'] = $article->find('div.details', 0)->plaintext;
    $articles[] = $item;
}

print_r($articles);

查询远程服务器内存以及awk使用

查询远程服务器存储详细信息

ssh 192.168.1.101 'free -g'

查询远程服务器内存,打印出第3行第4列的内容

ssh 192.168.1.101 'free -g' | awk 'NR==3{print $4}'

定时结束进程(本例5秒后结束)

& { sleep 5; eval 'kill -9 $!';}

查询远程服务器内存,打印出第3行第4列的内容,不管连接远程成功与否都会,5秒后结束

ssh 192.168.1.101 'free -g'| awk 'NR==3{print $4}' & { sleep 5; eval 'kill -9 $!';}