摘要:采集目標(biāo)微信文章頁標(biāo)題內(nèi)容發(fā)布時(shí)間作者等信息。安裝微信采集代碼采集規(guī)則可以很輕松的就寫出采集代碼出來,來看看運(yùn)行結(jié)果和預(yù)期一樣正確采集到了內(nèi)容,但是內(nèi)容亂碼了。
采集目標(biāo)
微信文章頁標(biāo)題、內(nèi)容、發(fā)布時(shí)間、作者等信息。
采集示例URLhttps://mp.weixin.qq.com/s?src=11×tamp=1523173327&ver=803&signature=6PCxJ*3ojH2ZM8pm56Lquward0mQMwSkPnqCvYlrDkQmL2kAEjGcFJMj2lzvpHyuyT30lczb2Ld0npUWmp*2Gj7bPJY3SCWrpRKlXJA0p4eQWPpAzMPJVmxPcRV5TtLS&new=1采集內(nèi)容區(qū)圖例 分析內(nèi)容選擇器
利用瀏覽器開發(fā)者工具來分析待采集的區(qū)域選擇器,這里不做詳細(xì)講解,如有不明白請自行了解jQuery選擇器和CSS選擇器相關(guān)知識,如圖:
分析結(jié)果:
標(biāo)題選擇器為:.rich_media_title
發(fā)布時(shí)間選擇器為: #post-date
作者選擇器為:#meta_content>.rich_media_meta:eq(2)
內(nèi)容選擇器為:.rich_media_content
選擇器寫法并不是唯一的,只要能選擇到內(nèi)容選擇器隨便怎么寫都可以。
代碼選擇器分析出來后代碼就很容易實(shí)現(xiàn)了。
安裝QueryListcomposer 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());
可以很輕松的就寫出采集代碼出來,來看看運(yùn)行結(jié)果:
Array ( [0] => Array ( [title] => a??è′???????a?????????°???a???èμ·?????1???????·2è¢?????¤§?a???????è?°??¨?¤??a?èˉ′ [date] => 2018-04-08 [author] => ???èˉ-??? [content] =>
è?a??1?????????èμ·a??è′???????a????¥??¥????????????????°±?????¨??¨????????o????¤′??????
??-?????¤????????????????¨???????è§??¨?è?????è???¤§???è?????é??è???????????????μ???????????????§?????¥??±?¢????
...... )
和預(yù)期一樣正確采集到了內(nèi)容,但是內(nèi)容亂碼了。
解決亂碼解決亂碼的方法有很多,QueryList內(nèi)置的解決方案是使用encoding()和removeHead()這個(gè)方法,但經(jīng)過嘗試發(fā)現(xiàn)目前的場景都沒有效果,所以我使用了另一種方法來解決微信亂碼問題,修改后的代碼如下:
[".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中的內(nèi)容 preg_match("/]+>(.+)s+/s",$html,$arr); $html = $arr[0]; $data = QueryList::html($html)->rules($rules)->query()->getData(); print_r($data->all());
運(yùn)行結(jié)果:
Array ( [0] => Array ( [title] => “貿(mào)易戰(zhàn)”戰(zhàn)火尚未燃起,特朗普已被各大媒體炮轟丨外媒說 [date] => 2018-04-08 [author] => 雙語君 [content] =>
自特朗普挑起“貿(mào)易戰(zhàn)”以來,一把利劍就懸在全球市場的頭上。
中美兩國公布的征稅商品規(guī)模越變越大,股市震蕩,世界經(jīng)濟(jì)的不確定性與日俱增。
.... )
原文:http://study.querylist.cc/arc...
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/28557.html
QueryList 簡介 QueryList是一套簡潔、優(yōu)雅、可擴(kuò)展的PHP采集工具(爬蟲),基于phpQuery。 特性 擁有與jQuery完全相同的CSS3 DOM選擇器 擁有與jQuery完全相同的DOM操作API 擁有通用的列表采集方案 擁有強(qiáng)大的HTTP請求套件,輕松實(shí)現(xiàn)如:模擬登陸、偽造瀏覽器、HTTP代理等意復(fù)雜的網(wǎng)絡(luò)請求 擁有亂碼解決方案 擁有強(qiáng)大的內(nèi)容過濾功能,可使用jQue...
摘要:使用的方式來做采集,擁有豐富的插件。下面來演示使用插件抓取動(dòng)態(tài)創(chuàng)建的頁面內(nèi)容。插件使用瀏覽器打開連接使用以采集今日頭條手機(jī)版為例,今日頭條手機(jī)版基于框架,內(nèi)容是純動(dòng)態(tài)渲染出來的。 QueryList使用jQuery的方式來做采集,擁有豐富的插件。 下面來演示QueryList使用PhantomJS插件抓取JS動(dòng)態(tài)創(chuàng)建的頁面內(nèi)容。 安裝 使用Composer安裝: 安裝QueryList...
摘要:使用的方式來做采集,擁有豐富的插件。下面來演示使用搜索引擎插件輕松實(shí)現(xiàn)站內(nèi)搜索。 QueryList使用jQuery的方式來做采集,擁有豐富的插件。 下面來演示QueryList使用Baidu搜索引擎插件輕松實(shí)現(xiàn)站內(nèi)搜索。 安裝 使用Composer安裝: 安裝QueryList composer require jaeger/querylist GitHub: https://git...
PHP 函數(shù)的 JavaScript 實(shí)現(xiàn) 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...
摘要:查找保存下載用搭建自己的緩存?zhèn)}庫權(quán)限管理的好選擇基于封裝的后臺管理系統(tǒng),支持手機(jī)和端訪問支付寶風(fēng)格的驗(yàn)證器后臺系統(tǒng)微信接口的部署腳本開發(fā)的博客系統(tǒng)百度推送自動(dòng)記錄用戶行為擴(kuò)展一個(gè)項(xiàng)目管理系統(tǒng)根據(jù)生成對應(yīng)導(dǎo)航的狀態(tài) 1.debug https://github.com/barryvdh/l... showImg(https://segmentfault.com/img/bVmhWL); ...
閱讀 1398·2021-10-11 10:58
閱讀 1482·2021-09-04 16:41
閱讀 679·2019-08-30 15:55
閱讀 805·2019-08-29 18:46
閱讀 3145·2019-08-29 14:05
閱讀 3531·2019-08-26 14:00
閱讀 2455·2019-08-26 13:53
閱讀 3179·2019-08-26 13:29