来源:未知 时间:2018-07-23 14:03 作者:小飞侠 阅读:次
[导读] 采集目标 微信文章页标题、内容、发布时间、作者等信息。 采集示例URL https://mp.weixin.qq.com/s?src=11timestamp=1523173327ver=803signature=6PCxJ*3ojH2ZM8pm56Lquward0mQMwSkPnqCvYlrDkQmL2kAEjGcFJMj2lzvpHyuyT30lczb2L...
采集目标微信文章页标题、内容、发布时间、作者等信息。 采集示例URLsignature=6PCxJ*3ojH2ZM8pm56Lquward0mQMwSkPnqCvYlrDkQmL2kAEjGcFJMj2lzvpHyuyT30lczb2Ld0npUWmp* 2Gj7bPJY3SCWrpRKlXJA0p4eQWPpAzMPJVmxPcRV5TtLS&new=1 采集内容区图例分析内容选择器利用浏览器开发者工具来分析待采集的区域选择器,这里不做详细讲解,如有不明白请自行了解jQuery选择器和CSS选择器相关知识,如图: 分析结果:
选择器写法并不是唯一的,只要能选择到内容选择器随便怎么写都可以。 代码选择器分析出来后代码就很容易实现了。 安装QueryListcomposer require jaeger/querylist 微信采集代码<?phprequire 'vendor/autoload.php';use QL\QueryList; $url = 'https://mp.weixin.qq.com/s?src=11×tamp=1523173327& ver=803&signature=6PCxJ*3ojH2ZM8pm56Lquward0mQMwSkPnqCvYlrDkQmL2kAEjGcFJMj2lzvpHyuyT30lczb2Ld0npUWmp* 2Gj7bPJY3SCWrpRKlXJA0p4eQWPpAzMPJVmxPcRV5TtLS&new=1'; // 采集规则$rules = ['title' => ['.rich_media_title','text'],'date' => ['#post-date','text'],'author' => ['#meta_content>.rich_media_meta:eq(2)','text'],'content' => ['.rich_media_content','html']];$data = QueryList::get($url)->rules($rules)->query()->getData();print_r($data->all()); 可以很轻松的就写出采集代码出来,来看看运行结果: Array([0] => Array([title] => âè´¸ææâæç«å°æªçèµ·ï¼ç¹ææ®å·²è¢«å大åªä½ç®è½°ä¸¨å¤åªè¯´[date] => 2018-04-08[author] => åè¯å[content] => <section class="xmteditor" style="display:none;" data-tools="æ°åªä½ç®¡å®¶" data-label="powered by xmt.cn"></section><p style="white-space: normal;"><img class="" data-ratio="0.134375" data-s="300,640" data-src="https://mmbiz.qpic.cn/mmbiz_png/IqicDAGdXNibs5wrrbmbVJW8HZB9Qv5ajtuR4C4kIQI43GjtM0ZDsDWzFSCZ7UcthQ1bbPqBSENxEdvRyzzaBavg/640?wx_fmt=png" data-type="png" data-w="640" style="color: rgb(62, 62, 62);text-align: justify;line-height: 28.4444px;background-color: rgb(255, 255, 255);box-sizing: border-box !important;word-wrap: break-word !important;visibility: visible !important;width: auto !important;" width="auto"></p><p style="white-space: normal;"><br></p><p style="white-space: normal;"><span style="font-size: 15px;">èªç¹ææ®æèµ·âè´¸ææâ以æ¥ï¼ä¸æå©åå°±æ¬å¨å ¨çå¸åºç头ä¸ã</span></p><p style="white-space: normal;"><br></p><p style="white-space: normal;"><span style="font-size: 15px;">ä¸ç¾ä¸¤å½å ¬å¸çå¾ç¨ååè§æ¨¡è¶åè¶å¤§ï¼è¡å¸éè¡ï¼ä¸çç»æµçä¸ç¡®å®æ§ä¸æ¥ä¿±å¢ã</span></p><p style="white-space: normal;"><br></p>......) 和预期一样正确采集到了内容,但是内容乱码了。 解决乱码解决乱码的方法有很多,QueryList内置的解决方案是使用encoding()和removeHead()这个方法,但经过尝试发现目前的场景都没有效果,所以我使用了另一种方法来解决微信乱码问题,修改后的代码如下: <?phprequire 'vendor/autoload.php';use Jaeger\GHttp;use QL\QueryList;$url = 'https://mp.weixin.qq.com/s?src=11×tamp=1523173327&ver=803&signature=6PCxJ*3ojH2ZM8pm56Lquward0mQMwSkPnqCvYlrDkQmL2kAEjGcFJMj2lzvpHyuyT30lczb2Ld0npUWmp*2Gj7bPJY3SCWrpRKlXJA0p4eQWPpAzMPJVmxPcRV5TtLS&new=1';// 采集规则$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);// 直接匹配出body中的内容preg_match('/<body[^>]+>(.+)\s+<\/body>/s',$html,$arr);$html = $arr[0];$data = QueryList::html($html)->rules($rules)->query()->getData();print_r($data->all()); 运行结果:Array([0] => Array([title] => “贸易战”战火尚未燃起,特朗普已被各大媒体炮轰丨外媒说[date] => 2018-04-08[author] => 双语君[content] => <section class="xmteditor" style="display:none;" data-tools="新媒体管家" data-label="powered by xmt.cn"></section><p style="white-space: normal;"><img class="" data-ratio="0.134375" data-s="300,640" data-src="https://mmbiz.qpic.cn/mmbiz_png/IqicDAGdXNibs5wrrbmbVJW8HZB9Qv5ajtuR4C4kIQI43GjtM0ZDsDWzFSCZ7UcthQ1bbPqBSENxEdvRyzzaBavg/640?wx_fmt=png" data-type="png" data-w="640" style="color: rgb(62, 62, 62);text-align: justify;line-height: 28.4444px;background-color: rgb(255, 255, 255);box-sizing: border-box !important;word-wrap: break-word !important;visibility: visible !important;width: auto !important;" width="auto"></p><p style="white-space: normal;"><br></p><p style="white-space: normal;"><span style="font-size: 15px;">自特朗普挑起“贸易战”以来,一把利剑就悬在全球市场的头上。</span></p><p style="white-space: normal;"><br></p><p style="white-space: normal;"><span style="font-size: 15px;">中美两国公布的征税商品规模越变越大,股市震荡,世界经济的不确定性与日俱增。</span></p><p style="white-space: normal;"><br></p>....) |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com