国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

PHP使用QueryList采集微信文章頁

AdolphLWQ / 625人閱讀

摘要:采集目標微信文章頁標題內容發布時間作者等信息。安裝微信采集代碼采集規則可以很輕松的就寫出采集代碼出來,來看看運行結果和預期一樣正確采集到了內容,但是內容亂碼了。

采集目標

微信文章頁標題、內容、發布時間、作者等信息。

采集示例URL
https://mp.weixin.qq.com/s?src=11×tamp=1523173327&ver=803&signature=6PCxJ*3ojH2ZM8pm56Lquward0mQMwSkPnqCvYlrDkQmL2kAEjGcFJMj2lzvpHyuyT30lczb2Ld0npUWmp*2Gj7bPJY3SCWrpRKlXJA0p4eQWPpAzMPJVmxPcRV5TtLS&new=1
采集內容區圖例

分析內容選擇器

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

分析結果:

標題選擇器為:.rich_media_title

發布時間選擇器為: #post-date

作者選擇器為:#meta_content>.rich_media_meta:eq(2)

內容選擇器為:.rich_media_content

選擇器寫法并不是唯一的,只要能選擇到內容選擇器隨便怎么寫都可以。

代碼

選擇器分析出來后代碼就很容易實現了。

安裝QueryList
composer require jaeger/querylist
微信采集代碼
 [".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] => a??è′???????a?????????°???a???èμ·?????1???????·2è¢?????¤§?a???????è?°??¨?¤??a?èˉ′
            [date] => 2018-04-08
            [author] => ???èˉ-???
            [content] => 


è?a??1?????????èμ·a??è′???????a????¥??¥????????????????°±?????¨??¨????????o????¤′??????


??-?????¤????????????????¨???????è§??¨?è?????è???¤§???è?????é??è???????????????μ???????????????§?????¥??±?¢????


...... )

和預期一樣正確采集到了內容,但是內容亂碼了。

解決亂碼

解決亂碼的方法有很多,QueryList內置的解決方案是使用encoding()removeHead()這個方法,但經過嘗試發現目前的場景都沒有效果,所以我使用了另一種方法來解決微信亂碼問題,修改后的代碼如下:

 [".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("/]+>(.+)s+/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] => 


自特朗普挑起“貿易戰”以來,一把利劍就懸在全球市場的頭上。


中美兩國公布的征稅商品規模越變越大,股市震蕩,世界經濟的不確定性與日俱增。


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

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/28557.html

相關文章

  • QueryList 4.0 簡潔、優雅、可擴展的PHP采集工具(爬蟲)

    QueryList 簡介 QueryList是一套簡潔、優雅、可擴展的PHP采集工具(爬蟲),基于phpQuery。 特性 擁有與jQuery完全相同的CSS3 DOM選擇器 擁有與jQuery完全相同的DOM操作API 擁有通用的列表采集方案 擁有強大的HTTP請求套件,輕松實現如:模擬登陸、偽造瀏覽器、HTTP代理等意復雜的網絡請求 擁有亂碼解決方案 擁有強大的內容過濾功能,可使用jQue...

    Astrian 評論0 收藏0
  • php使用QueryList輕松采集JavaScript動態渲染

    摘要:使用的方式來做采集,擁有豐富的插件。下面來演示使用插件抓取動態創建的頁面內容。插件使用瀏覽器打開連接使用以采集今日頭條手機版為例,今日頭條手機版基于框架,內容是純動態渲染出來的。 QueryList使用jQuery的方式來做采集,擁有豐富的插件。 下面來演示QueryList使用PhantomJS插件抓取JS動態創建的頁面內容。 安裝 使用Composer安裝: 安裝QueryList...

    Jason 評論0 收藏0
  • PHP使用QueryList輕松實現一個百度網盤資源搜索引擎

    摘要:使用的方式來做采集,擁有豐富的插件。下面來演示使用搜索引擎插件輕松實現站內搜索。 QueryList使用jQuery的方式來做采集,擁有豐富的插件。 下面來演示QueryList使用Baidu搜索引擎插件輕松實現站內搜索。 安裝 使用Composer安裝: 安裝QueryList composer require jaeger/querylist GitHub: https://git...

    dantezhao 評論0 收藏0
  • 那些 PHP 開發者可能用得上的工具

    PHP 函數的 JavaScript 實現 module.exports = function array_sum (array) { // eslint-disable-line camelcase // discuss at: http://locutus.io/php/array_sum/ // original by: Kevin van Zonneveld (http://kv...

    JowayYoung 評論0 收藏0
  • laravel package收集

    摘要:查找保存下載用搭建自己的緩存倉庫權限管理的好選擇基于封裝的后臺管理系統,支持手機和端訪問支付寶風格的驗證器后臺系統微信接口的部署腳本開發的博客系統百度推送自動記錄用戶行為擴展一個項目管理系統根據生成對應導航的狀態 1.debug https://github.com/barryvdh/l... showImg(https://segmentfault.com/img/bVmhWL); ...

    psychola 評論0 收藏0

發表評論

0條評論

AdolphLWQ

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<