ホームページ >バックエンド開発 >PHPチュートリアル >PHPを使ってWeChatパブリックアカウントの記事ページを収集する方法を解説

PHPを使ってWeChatパブリックアカウントの記事ページを収集する方法を解説

jacklove
jackloveオリジナル
2018-07-07 17:49:283962ブラウズ

PHP を使用して WeChat パブリック アカウントの記事を収集する方法を作成する方法を分析し、コードを詳しく説明します。必要な友人はそこから学ぶことができます。

Sogou 検索を通じて公開アカウントの履歴メッセージを収集するには、いくつかの問題があります:

1. 確認コードがあります;

2. 履歴メッセージのリストには、最新のグループメッセージ 10 件;

3. 記事アドレスには有効期限があります;

4. 一括収集には IP の変更が必要と言われます;

そのような問題はありません前回の記事の方法を使用しましたが、コレクション システムの構築は従来のコレクターほど単純ではなく、ルールを記述してクロールするだけです。ただし、一度設定した後のバッチ収集の効率はまだ許容範囲内です。さらに、収集された記事アドレスは永続的に有効であり、公開アカウントのすべての履歴メッセージを収集できます。
公開アカウント記事のリンク アドレスから始めましょう:

1. WeChat の右上隅にあるメニューからリンク アドレスをコピーします:

http:// /mp.weixin.qq.com/s/fF34bERZ0je_8RWEJjoZ5A

2. 履歴メッセージ リストから取得したアドレス:

http:/ /mp.weixin.qq.com/s?__biz=MjM5NDAwMTA2MA==&mid=2695729619&idx=1&sn=8be0b6bd0210cee0d492ebdf20f7371f&chksm=83d74818b4a0c10ef286b33bb7deb73226125f866 ddb5 b2781166066a69afef3705eabdb3b85&scene=4#wechat_redirect

3. 完全な実際のアドレス:

https://mp.weixin.qq.com/s?__biz=MjM5NDAwMTA2MA==&mid=2695729619&idx=1&sn=8be0b6bd0210cee0d492ebdf20f7371f&chksm=83d74818b4a0c10ef286b33bb7deb7322612 5f866ddb5b2781166066a69afef3705eabdb3b85&scene=37&key=c81d77271180a0e6ce32be2d9dcaa2a7436aeba2c1d47a20d02194d1c944a8286a8eded93495eeadd05da412bbfaa 638a379750aeaa4cf5c00e4d7851c5710d9b9736b80e3c72770a57a515c23ff2400&ascene=3&uin=MzUyOTIyNQ==&devicetype=iOS10。 1.1&version=16050120&nettype =WIFI&fontScale=100&pass_ticket=FGRyGfXLPEa4AeOsIZu7KFJo6CiXOZex83Y5YBRglW4=&wx_header=1


上記3つのアドレスは同じ記事のアドレスであり、別の場所から取得すると全く異なる3つの結果が得られます。

履歴メッセージ ページと同様に、WeChat にはパラメータを自動的に補足するメカニズムがあります。最初のアドレスはリンクをコピーすることで取得され、偽装されたエンコーディングであるようです。実際のところ、それは無駄なので検討しません。 2番目のアドレスは、過去の記事で紹介した方法で履歴メッセージのjson記事リストから取得したリンクアドレスで、データベースに保存できます。その後、このアドレスを介してサーバーから記事のコンテンツを取得できるようになります。 3 番目のリンクにパラメーターを追加した後、目的は、記事ページ内の読書 js が読書いいねの json 結果を取得できるようにすることです。前回の記事の方法ではクライアントで記事ページを開いて表示していますが、これらのパラメータにより記事ページ内のjsが閲覧量を自動で取得するので、この記事の閲覧量をプロキシサービス経由で取得することができます。 . .

この記事の内容は、このコラムの前回の記事で紹介した方法に基づいて、記事のコンテンツやその他の有用な情報を取得する方法を詳細に検討することです。

(データベースに保存されている記事のリスト、いくつかのフィールド)

1. 記事のソース コードを取得します:

PHP 関数 file_get_content() を使用して、記事のソース コードを変数に読み取ることができます。 WeChat記事のソースコードはブラウザから開けるので、ページスペースの無駄を避けるためにここには貼り付けません。

<?
//$content_url 变量的值为文章地址
$html = file_get_contents($content_url);
?>

2. ソース コード内の有用な情報:

1) 元のコンテンツ:

元のコンテンツは cfd680454c127ace0ad40a8afa2cb84a94b3e26ee717c64999d7867364b1b4a3 タグに含まれており、PHP コードを通じて取得されます:

<?
preg_match_all("/id=\"js_content\">(.*)<script/iUs",$html,$content,PREG_PATTERN_ORDER);
$content = "<p id=&#39;js_content&#39;>".$content[1][0];
?>

# # 通常のパターンの先頭は cfd680454c127ace0ad40a8afa2cb84a を識別し、最後は