关键词搜索

全站搜索
×
密码登录在这里
×
注册会员
×

已有账号? 请点击

忘记密码

已有账号? 请点击

使用其他方式登录

PHP自动识别采集何意网址文章正文内容

发布2023-09-23 浏览440次

详情内容

在做PHP采集内容时,用过querylist采集组件,但是这个插件采集页面内容时,都必须要写个采集选择器。这样比较麻烦,每个文章页面都必须指定一条采集规则 。就开始着手找一个插件可以能自动识别任意文章url正文内容并采集的,发现有一个插件,是采集内容标签给每个标签拆开后打分来分析出正文内容的,下面给大家展示实现的过程及代码。


先看截图:

image.png

采集代码:

try{
    $ql = QueryList::get($url);
}catch(RequestException $e){
    //print_r($e->getRequest());
    return json(['status'=>false,'msg'=>'Http Error:服务器错误,url不存在']);die;
}
//queryData 方法等同于  query()->getData()->all()
//$query = $ql->rules($rules)->queryData();

$title_rule = json_decode(htmlspecialchars_decode($title_rule),true);
$content_rule = json_decode(htmlspecialchars_decode($content_rule),true);
if($thumb_rule)
$thumb_rule = json_decode(htmlspecialchars_decode($thumb_rule),true);
$photos_range = htmlspecialchars_decode($photos_range);


if(is_array($content_rule)&&is_array($title_rule))
{
    $rules = [
        'title' => $title_rule,
        'seo_title' => ['title','text'],
        'keywords' => ['meta[name=keywords]','content'],
        'description' => ['meta[name=description]','content'],
        'content' => $content_rule,
        'thumb' => $thumb_rule
    ];

    if(empty($thumb_rule))
        unset($rules['thumb']);

}
else
{
    $rules = [
        'title' => ['h1','text'],
        'seo_title' => ['title','text'],
        'keywords' => ['meta[name=keywords]','content'],
        'description' => ['meta[name=description]','content'],
        'content' => [$content_rule,'html','-a -ul -li -.group-post-list'],
        'thumb' => [$thumb_rule,'src']
    ];
}

$query =  $ql->rules($rules)->queryData();

这些写对于每个页面都要定好规则,比较麻烦有没有一种组件可以任意网址自动识别采集正文内容的,

先看效果

image.png

只需要输入一个文章的网站,自动识别正文内容并采集

主要用的一个插件readability,git地址: https://github.com/andreskrey/readability.php

代码:

$html = file_get_contents($url);
$readability = new Readability(new Configuration());
$readability->parse($html);


$data['title'] = $readability->getTitle();
$data['seo_title'] = $readability->getTitle();


点击QQ咨询
开通会员
返回顶部
×
  • 微信支付
微信扫码支付
微信扫码支付
请使用微信描二维码支付
×

提示信息

×

选择支付方式

  • 微信支付
确定支付下载