相關(guān)關(guān)鍵詞
關(guān)于我們
最新文章
- PHP中opcode緩存簡(jiǎn)單用法分析
- thinkPHP控制器變量在模板中的顯示方法示例
- PHP move_uploaded_file() 函數(shù)(將上傳的文件移動(dòng)到新位置)
- dirname(__FILE__)的含義和應(yīng)用說(shuō)明
- thinkPHP5框架實(shí)現(xiàn)分頁(yè)查詢功能的方法示例
- PHP中單雙號(hào)與變量
- PHP獲得當(dāng)日零點(diǎn)時(shí)間戳的方法分析
- Laravel ORM對(duì)Model::find方法進(jìn)行緩存示例詳解
- PHP讀寫文件高并發(fā)處理操作實(shí)例詳解
- 【CLI】利用Curl下載文件實(shí)時(shí)進(jìn)度條顯示的實(shí)現(xiàn)
PHP寫微信公眾號(hào)文章頁(yè)采集方法

通過(guò)搜狗搜索采集公眾號(hào)歷史消息有幾個(gè)問題:
1、有驗(yàn)證碼;
2、歷史消息列表只有最近10條群發(fā)內(nèi)容;
3、文章地址是有有效期的;
4、據(jù)說(shuō)批量采集還要換ip;
通過(guò)我前面文章的方法就沒有這些問題,雖然采集系統(tǒng)搭建不如傳統(tǒng)采集器寫個(gè)規(guī)則去爬就可以了那么簡(jiǎn)單。但是一次搭建好之后批量采集的效率還是可以的。而且采集的文章地址是永久有效的,并且可以采集到一個(gè)公眾號(hào)所有的歷史消息。
我們還是從一個(gè)公眾號(hào)文章的鏈接地址開始看:
1、從微信右上角菜單復(fù)制到的鏈接地址:
http://mp.weixin.qq.com/s/fF34bERZ0je_8RWEJjoZ5A
2、歷史消息列表中獲取到的地址:
http://mp.weixin.qq.com/s?__biz=MjM5NDAwMTA2MA==&mid=2695729619&idx=1&sn=8be0b6bd0210cee0d492ebdf20f7371f&chksm=83d74818b4a0c10ef286b33bb7deb73226125f866ddb5b2781166066a69afef3705eabdb3b85&scene=4#wechat_redirect
3、完整的真實(shí)地址:
https://mp.weixin.qq.com/s?__biz=MjM5NDAwMTA2MA==&mid=2695729619&idx=1&sn=8be0b6bd0210cee0d492ebdf20f7371f&chksm=83d74818b4a0c10ef286b33bb7deb73226125f866ddb5b2781166066a69afef3705eabdb3b85&scene=37&key=c81d77271180a0e6ce32be2d9dcaa2a7436aeba2c1d47a20d02194d1c944a8286a8eded93495eeadd05da412bbfaa638a379750aeaa4cf5c00e4d7851c5710d9b9736b80e3c72770a57a515c23ff2400&ascene=3&uin=MzUyOTIyNQ%3D%3D&devicetype=iOS10.1.1&version=16050120&nettype=WIFI&fontScale=100&pass_ticket=FGRyGfXLPEa4AeOsIZu7KFJo6CiXOZex83Y5YBRglW4%3D&wx_header=1
以上這3個(gè)地址是同一篇文章的地址,在不同位置獲取到就得到了完全不同的3個(gè)結(jié)果。
和歷史消息頁(yè)一樣,微信有一套自動(dòng)補(bǔ)充參數(shù)的機(jī)制。第一個(gè)地址是復(fù)制鏈接得到的,看起來(lái)是一個(gè)偽裝的編碼。其實(shí)沒什么用我們不做考慮了。第二個(gè)地址是通過(guò)前面文章介紹的方法,從歷史消息的json文章列表中獲得到的鏈接地址,我們就是可以將這個(gè)地址保存到數(shù)據(jù)庫(kù)中。之后就可以通過(guò)這個(gè)地址從服務(wù)器獲取到文章內(nèi)容。而第三個(gè)鏈接補(bǔ)充了參數(shù)之后,目的是為了讓文章頁(yè)面中的閱讀量js可以獲取到閱讀量點(diǎn)贊量的json結(jié)果而加上的參數(shù)。我們前面文章的方法中因?yàn)槲恼马?yè)面被客戶端打開顯示了出來(lái),因?yàn)橛辛诉@些參數(shù),文章頁(yè)面中的js就去自動(dòng)獲取閱讀量了,所以我們才能通過(guò)代理服務(wù)獲取到這篇文章的閱讀量。
這篇文章的內(nèi)容就是以通過(guò)本專欄前面文章介紹的方法已經(jīng)獲取到了大量微信文章的基礎(chǔ)上,詳細(xì)研究如何獲取到文章內(nèi)容和其它一些有用的信息的方法。
(我的數(shù)據(jù)庫(kù)中保存的文章列表,一部分字段)
1、獲取文章源代碼:
通過(guò)php的函數(shù)file_get_content()就可以將文章源代碼讀取到變量中。微信文章的源代碼因?yàn)榭梢詮臑g覽器中打開所以我就不在這里粘貼了,以免浪費(fèi)頁(yè)面空間。
<? //$content_url 變量的值為文章地址 $html = file_get_contents($content_url); ?>