最近中文字幕2019高清,亚洲人成高清在线播放,男生淦哭男生图片动漫有字,国产亚洲精品九九久在线观看,无码av专区丝袜专区

微信公眾號文章采集的入口--歷史消息頁(yè)解讀

優(yōu)采云 發(fā)布時(shí)間: 2020-08-11 23:03

  采集微信文章和采集網(wǎng)站內容一樣,都須要從一個(gè)列表頁(yè)開(kāi)始。而陌陌文章的列表頁(yè)就是公眾號里的查看歷史消息頁(yè)?,F在網(wǎng)路上的其它陌陌采集器有的是借助搜狗搜索,采集方式其實(shí)簡(jiǎn)單多了,但是內容不全。所以我們還是要從最標準最全面的公眾號歷史消息頁(yè)來(lái)采集。

  因為陌陌的限制,我們能復制到的鏈接是不完整的,在瀏覽器中未能打開(kāi)聽(tīng)到內容。所以我們須要通過(guò)上一篇文章介紹的方式,使用anyproxy獲取到一個(gè)完整的微信公眾號歷史消息頁(yè)面的鏈接地址。

  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

  前一篇文章提到過(guò),biz參數是公眾號的ID,uin是用戶(hù)的ID,目前來(lái)看uin是在所有公眾號之間惟一的。其它兩個(gè)重要參數key和pass_ticket是陌陌客戶(hù)端補充上的參數。

  所以在這個(gè)地址失效之前我們是可以通過(guò)瀏覽器查看原文的方式獲取到歷史消息的文章列表的,如果希望自動(dòng)化剖析內容,也可以制做一個(gè)程序,將這個(gè)帶有仍未失效的key和pass_ticket的鏈接地址遞交進(jìn)去,再通過(guò)諸如php程序來(lái)獲取到文章列表。

  最近有同事跟我說(shuō)他的采集目標就是單一的一個(gè)公眾號,我認為這樣就沒(méi)必要用上一篇文章寫(xiě)的批量采集的方式了。所以我們接下來(lái)瞧瞧歷史消息頁(yè)上面是如何獲取到文章列表的,通過(guò)剖析文章列表,就可以得到這個(gè)公眾號所有的內容鏈接地址,然后再采集內容就可以了。

  在anyproxy的web界面中若果證書(shū)配置正確,是可以顯示出https的內容的。web界面的地址是localhost:8002其中localhost可以替換成自己的IP地址或域名。從列表中找到getmasssendmsg開(kāi)頭的記錄,點(diǎn)擊以后兩側都會(huì )顯示出這條記錄的詳情:

  

  紅框部份就是完整的鏈接地址,將微信公眾平臺這個(gè)域名拼接在上面以后就可以在瀏覽器中打開(kāi)了。

  然后將頁(yè)面向上拉,到html內容的結尾部份,我們可以看見(jiàn)一個(gè)json的變量就是歷史消息的文章列表:

  

  我們將msgList的變量值拷貝下來(lái),用json低格工具剖析一下,我們就可以看見(jiàn)這個(gè)json是以下這個(gè)結構:

  {

"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微信公開(kāi)課Pro版即將召開(kāi)"

},

...//循環(huán)被省略

],

"source_url": "",

"subtype": 9,

"title": "謠言熱榜 | 十一月朋友圈十大謠言"

},

"comm_msg_info": {

"content": "",

"datetime": 1480933315,

"fakeid": "3093134871",

"id": 1000000010,

"status": 2,

"type": 49 //類(lèi)型為49的時(shí)候是圖文消息

}

},

...//循環(huán)被省略

]

}

  簡(jiǎn)要的剖析一下這個(gè)json(這里只介紹一些重要的信息,其它的被省略):

  "list": [ //最外層的鍵名;只出現一次,所有內容都被它包含。

{//這個(gè)大闊號之內是一條多圖文或單圖文消息,通俗的說(shuō)就是一天的群發(fā)都在這里

"app_msg_ext_info":{//圖文消息的擴展信息

"content_url": "圖文消息的鏈接地址",

"cover": "封面圖片",

"digest": "摘要",

"is_multi": "是否多圖文,值為1和0",

"multi_app_msg_item_list": [//這里面包含的是從第二條開(kāi)始的圖文消息,如果is_multi=0,這里將為空

{

"content_url": "圖文消息的鏈接地址",

"cover": "封面圖片",

"digest": ""摘要"",

"source_url": "閱讀原文的地址",

"title": "子內容標題"

},

...//循環(huán)被省略

],

"source_url": "閱讀原文的地址",

"title": "頭條標題"

},

"comm_msg_info":{//圖文消息的基本信息

"datetime": '發(fā)布時(shí)間,值為unix時(shí)間戳',

"type": 49 //類(lèi)型為49的時(shí)候是圖文消息

}

},

...//循環(huán)被省略

]

  在這里還要提及一點(diǎn)就是假如希望獲取到時(shí)間更久遠一些的歷史消息內容,就須要在手機或模擬器上將頁(yè)面向上拉,當拉到最里邊的時(shí)侯,微信將手動(dòng)讀取下一頁(yè)的內容。下一頁(yè)的鏈接地址和歷史消息頁(yè)的鏈接地址同樣是getmasssendmsg開(kāi)頭的地址。但是內容就是只有json了,沒(méi)有html了。直接解析json就可以了。

  這時(shí)可以通過(guò)上一篇文章介紹的方式,使用anyproxy將msgList變量值正則匹配下來(lái)以后,異步遞交到服務(wù)器,再從服務(wù)器上使用php的json_decode解析json成為字段。然后遍歷循環(huán)鏈表。我們就可以得到每一篇文章的標題和鏈接地址。

  如果只須要采集單一公眾號的內容,完全可以在每晚群發(fā)以后,通過(guò)anyproxy獲取到完整的帶有key和pass_ticket的鏈接地址。然后自己制做一個(gè)程序,手動(dòng)將地址遞交給自己的程序。使用諸如php這樣的語(yǔ)言來(lái)正則匹配到msgList,然后解析json。這樣就不用更改anyproxy的rule,也不需要制做一個(gè)采集隊列和跳轉頁(yè)面了。

  現在我們早已可以通過(guò)公眾號的歷史消息得到文章列表了,在下一篇文章里我將介紹怎么按照歷史消息里的文章鏈接地址來(lái)獲取文章具體內容的方式。還有一些怎樣保存文章,封面圖片,還有全文檢索的經(jīng)驗。

  如果你認為我那里寫(xiě)的不清楚,或者有不明白的地方,歡迎在下邊留言?;蛘呖謬樜⑿盘朿uijin,覺(jué)得好就點(diǎn)個(gè)贊。

  持續更新,微信公眾號文章批量采集系統的建立

  微信公眾號文章采集的入口--歷史消息頁(yè)解讀

  微信公眾號文章頁(yè)的剖析與采集

  提高微信公眾號文章采集效率,anyproxy進(jìn)階使用方式

0 個(gè)評論

要回復文章請先登錄注冊


官方客服QQ群

微信人工客服

QQ人工客服


線(xiàn)

最近中文字幕2019高清,亚洲人成高清在线播放,男生淦哭男生图片动漫有字,国产亚洲精品九九久在线观看,无码av专区丝袜专区