最近工作需要采集网页的数据,用正则我不是很熟悉,给大家介绍一个好用的组件,使用也非常简单。
它对php版本没要求,另外打开php的mbstring扩展即可。
在packagist.org网站上搜索这个组件,它的使用介绍也寥寥几行,基本使用足够了。
安装方式一:直接在项目根目录执行
composer require sunra/php-simple-html-dom-parser
安装方式二:在composer.json的require中添加一行,再执行composer update
"require": {
"sunra/php-simple-html-dom-parser": "1.5.2"
}
composer update
安装完成后开始使用
<?php
namespace App\Http\Controllers;
use Sunra\PhpSimple\HtmlDomParser;
class PublicController extends Controller
{
public function dom()
{
$ret = $this->curl('http://xxxx.com');
//获取dom
$dom = HtmlDomParser::str_get_html( $res );
$ret = $dom->find('.ss_result table tr[name=main_words] td em');
//$ret = $dom->find('div[class=abc]');
if(!$ret){
return false;
}
foreach ($ret as $key=>$value) {
echo $val = $value->innertext;// 结果
}
}
public function curl($url)
{
$ch = curl_init();
...省略
$response = curl_exec($ch);
if ($response === false) {
return false;
}
curl_close($ch);
return $response;
}
}