PHP使用QueryList採集微信文章頁

PHP使用QueryList採集微信文章頁
1 Star2 Stars3 Stars4 Stars5 Stars 給文章打分!
Loading...

採集目標

微信文章頁標題、內容、釋出時間、作者等資訊。

採集示例URL

https://mp.weixin.qq.com/s?src=11&timestamp=1523173327&ver=803&signature=6PCxJ*3ojH2ZM8pm56Lquward0mQMwSkPnqCvYlrDkQmL2kAEjGcFJMj2lzvpHyuyT30lczb2Ld0npUWmp*2Gj7bPJY3SCWrpRKlXJA0p4eQWPpAzMPJVmxPcRV5TtLS&new=1

採集內容區圖例

分析內容選擇器

利用瀏覽器開發者工具來分析待採集的區域選擇器,這裡不做詳細講解,如有不明白請自行了解jQuery選擇器和CSS選擇器相關知識,如圖:

分析結果:

標題選擇器為:.rich_media_title

微信採集程式碼

<?php
require 'vendor/autoload.php';
use QL\QueryList;
$url = 'https://mp.weixin.qq.com/s?src=11&timestamp=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" 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()

執行結果:

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" 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>
....
)

原文:http://study.querylist.cc/arc…

相關文章

程式語言 最新文章