国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 熱點 > 微信 > 正文

如何采集微信公眾號歷史消息頁的詳解

2020-03-22 17:45:02
字體:
來源:轉載
供稿:網友
給大家講解了微信公眾號文章采集的入口歷史消息頁信息獲取方法,有需要的朋友參考一下本內容。

采集微信文章和采集網站內容一樣,都需要從一個列表頁開始。而微信文章的列表頁就是公眾號里的查看歷史消息頁。現在網絡上的其它微信采集器有的是利用搜狗搜索,采集方式雖然簡單多了,但是內容不全。所以我們還是要從最標準最全面的公眾號歷史消息頁來采集。

因為微信的限制,我們能復制到的鏈接是不完整的,在瀏覽器中無法打開看到內容。所以我們需要通過上一篇文章介紹的方法,使用anyproxy獲取到一個完整的微信公眾號歷史消息頁面的鏈接地址。

http://mp.weixin.qq.com/mp/getmasssendmsg?__biz=MjM5NDAwMTA2MA== uin=NzM4MTk1ODgx key=bf9387c4d02682e186a298a18276d8e0555e3ab51d81ca46de339e6082eb767343bef610edd80c9e1bfda66c2b62751511f7cc091a33a029709e94f0d1604e11220fc099a27b2e2d29db75cc0849d4bf devicetype=android-17 version=26031c34 lang=zh_CN nettype=WIFI ascene=3 pass_ticket=Iox5ZdpRhrSxGYEeopVJwTBP7kZj51GYyEL24AT5Zyx%2BBoEMdPDBtOun1F%2F9ENSz wx_header=1

前一篇文章提到過,biz參數是公眾號的ID,uin是用戶的ID,目前來看uin是在所有公眾號之間唯一的。其它兩個重要參數key和pass_ticket是微信客戶端補充上的參數。

所以在這個地址失效之前我們是可以通過瀏覽器查看原文的方法獲取到歷史消息的文章列表的,如果希望自動化分析內容,也可以制作一個程序,將這個帶有尚未失效的key和pass_ticket的鏈接地址提交進去,再通過例如php程序來獲取到文章列表。

最近有朋友跟我說他的采集目標就是單一的一個公眾號,我覺得這樣就沒必要用上一篇文章寫的批量采集的方法了。所以我們接下來看看歷史消息頁里面是怎樣獲取到文章列表的,通過分析文章列表,就可以得到這個公眾號所有的內容鏈接地址,然后再采集內容就可以了。

在anyproxy的web界面中如果證書配置正確,是可以顯示出https的內容的。web界面的地址是http://localhost:8002 其中localhost可以替換成自己的IP地址或域名。從列表中找到getmasssendmsg開頭的記錄,點擊之后右側就會顯示出這條記錄的詳情:

紅框部分就是完整的鏈接地址,將微信公眾平臺這個域名拼接在前面之后就可以在瀏覽器中打開了。

然后將頁面向下拉,到html內容的結尾部分,我們可以看到一個json的變量就是歷史消息的文章列表:

我們將msgList的變量值拷貝出來,用json格式化工具分析一下,我們就可以看到這個json是以下這個結構:

{ list : [ app_msg_ext_info : { author : , content : , content_url : http://mp.weixin.qq.com/s?__biz=MzA5MzEzNDg3MQ== mid=2652767427 idx=1 sn=37da0d7208283bf90e9a4a536e0af0ea chksm=8b882dbbbcffa4ad2f0b8a141cc988d16bace564274018e68e5c53ee6f354f8ad56c9b98bade scene=4#wechat_redirect , copyright_stat : 100, cover : http://mmbiz.qpic.cn/mmbiz/MofBAcBsJ6X0xGrQ2XK5yQjzwb2eswxkRNBTgLtcqGziaFqwibzvtZAHCDkMeJU1fGZHpjoeibanPJ8rziaq68Akkg/0?wx_fmt=jpeg , digest : 擦亮雙眼,遠離謠言。 , fileid : 505283695, is_multi : 1, multi_app_msg_item_list : [ author : , content : , content_url : http://mp.weixin.qq.com/s?__biz=MzA5MzEzNDg3MQ== mid=2652767427 idx=2 sn=449ef1a874a37fed2429e14f724b56ef chksm=8b882dbbbcffa4ade48a7932cda4263687e34fca8ea3a5a6233d2589d448b9f6130d3890ce93 scene=4#wechat_redirect , copyright_stat : 100, cover : http://mmbiz.qpic.cn/mmbiz_png/MofBAcBsJ6XyaIn0qEDSSicBUBZbMYHYrhibia89ZnksCsUiaia2TLI1fyqjclibGa1hw3icP6oXeSpaWMjiabaghHl7yw/0?wx_fmt=png , digest : 12月28日,廣州亞運城綜合體育館,內附購票入口~ , fileid : 0, source_url : http://wechat.show.wepiao.com/detail/ff764b0731b7465db03b56b998e1f2b8?detailReferrer=1 from=groupmessage isappinstalled=0 , title : 2017微信公開課Pro版即將召開  ...//循環被省略 source_url : , subtype : 9, title : 謠言熱榜 | 十一月朋友圈十大謠言  comm_msg_info : { content : , datetime : 1480933315, fakeid : 3093134871 , id : 1000000010, status : 2, type : 49 //類型為49的時候是圖文消息 ...//循環被省略}

簡要的分析一下這個json(這里只介紹一些重要的信息,其它的被省略):

 list : [ //最外層的鍵名;只出現一次,所有內容都被它包含。 {//這個大闊號之內是一條多圖文或單圖文消息,通俗的說就是一天的群發都在這里 app_msg_ext_info :{//圖文消息的擴展信息 content_url : 圖文消息的鏈接地址 , cover : 封面圖片 , digest : 摘要 , is_multi : 是否多圖文,值為1和0 , multi_app_msg_item_list : [//這里面包含的是從第二條開始的圖文消息,如果is_multi=0,這里將為空 content_url : 圖文消息的鏈接地址 , cover : 封面圖片 , digest : 摘要 , source_url : 閱讀原文的地址 , title : 子內容標題  ...//循環被省略 source_url : 閱讀原文的地址 , title : 頭條標題  comm_msg_info :{//圖文消息的基本信息 datetime : 發布時間,值為unix時間戳 , type : 49 //類型為49的時候是圖文消息 ...//循環被省略]

在這里還要提到一點就是如果希望獲取到時間更久遠一些的歷史消息內容,就需要在手機或模擬器中將頁面向下拉,當拉到最底下的時候,微信將自動讀取下一頁的內容。下一頁的鏈接地址和歷史消息頁的鏈接地址同樣是getmasssendmsg開頭的地址。但是內容就是只有json了,沒有html了。直接解析json就可以了。

這時可以通過上一篇文章介紹的方法,使用anyproxy將msgList變量值正則匹配出來之后,異步提交到服務器,再從服務器上使用php的json_decode解析json成為數組。然后遍歷循環數組。我們就可以得到每一篇文章的標題和鏈接地址。

如果只需要采集單一公眾號的內容,完全可以在每天群發之后,通過anyproxy獲取到完整的帶有key和pass_ticket的鏈接地址。然后自己制作一個程序,手動將地址提交給自己的程序。使用例如php這樣的語言來正則匹配到msgList,然后解析json。這樣就不用修改anyproxy的rule,也不需要制作一個采集隊列和跳轉頁面了。

相關推薦:

PHP實現基數排序的方法講解

PHP基于反射機制實現自動依賴注入的方法講解

PHP正在進行時-變量詳解及字符串動態插入變量相關講解

以上就是如何采集微信公眾號歷史消息頁的詳解的詳細內容,PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 商城县| 牡丹江市| 古田县| 江口县| 克山县| 汽车| 太湖县| 中牟县| 牙克石市| 永平县| 文山县| 阿坝| 萨迦县| 安吉县| 青河县| 牟定县| 嘉定区| 嘉黎县| 林西县| 醴陵市| 家居| 江山市| 凌源市| 宁阳县| 习水县| 宁晋县| 北流市| 东莞市| 房山区| 长宁县| 新巴尔虎左旗| 商丘市| 美姑县| 罗田县| 娄烦县| 桃源县| 安徽省| 安溪县| 安新县| 南丹县| 十堰市|