微信采集公众号图片防倒链处理

PHP / 916人浏览 / 0人评论

微信公众号一直在改变防踩规则

我也一直在改变采集规则

兵来将挡,水来土掩

我只是微信的搬运工

 

微信公众号运营最让人头疼的就是如何写出好的文章。在这瞬息万变又人才辈出的时代,各类微信公众号如雨后春笋般涌现,如何让自己的微信公众号文章脱颖而出,真正抓住公众眼球,获得持久关注?优秀的微信公众号都是相似的,平庸的微信公众号各有各的平庸。乔老爷子说:“好的艺术家是抄袭,伟大的艺术家是剽窃”,所以“借鉴”优秀的微信文章就很有必要了。

 

 

public function crabadd(Request $request)
{

    $url = $request->url;
    $ra_type = $request->ra_type;
    $rules = [
        'title' => ['.rich_media_title','text'],
        'date' => ['#post-date','text'],
        'author' => ['#meta_content>.rich_media_meta:eq(2)','text'],
        'content' => ['.rich_media_content','html']
    ];
    $html = GHttp::get($url);
    preg_match('/<body[^>]+>(.+)\s+<\/body>/s',$html,$arr);
    $html = $arr[0];
    $href = '';
    $data = QueryList::html($html)->rules($rules)->query()->getData();
    $info=preg_replace('/<img.+?data-src=\"(.+?)\"/i','    Storage::disk('oss');
    $sql = QueryList::html($info['content']);
    $arr = [];
    foreach($sql->find('img')->attrs('src') as $k=>$v){
        $img = time().rand('100','999');
        Storage::put('public/'.$img.'.png',file_get_contents($v)); //上传图片到阿里OSS,你可以换成本地
        $arr[$k]['one'] = $v;
        $arr[$k]['tow'] = $img;
    }
    foreach ($arr as $k=>$v){
        $info['content'] = str_replace($v['one'],'https://worldbuddy.oss-us-west-1.aliyuncs.com/public/'.$v['tow'].'.png',$info['content']);
            //替换文章里面图片地址  循环是因为文章里面有好多图片
    }
    $ql = QueryList::get($url);
    $img = $ql->find('img')->attrs('data-src');
    $img = reset($img);
    $arr = array_filter($img);
    foreach($arr as $k=>$v){
        if($v != ''){
            $p= $v; //首张图片地址
            break;
        }
    }
    $cre = [
        'ra_title'=>$info['title'],
        'ra_content'=>$info['content'],
        'ra_img'=>$p,
        'ra_time'=>date('Y-m-d H:i',time()),
        'ra_type'=>$ra_type
    ];
    $model = new BModel();
    $res = $model->create($cre);
    if($res){
        return redirect('/admin/article');

    }else{
        echo '抓取失败';
    }
}

感谢博主,喝杯咖啡!~

0 条评论

还没有人发表评论

发表评论 取消回复

记住我的信息,方便下次评论
有人回复时邮件通知我