De nos jours, il y a de plus en plus d'utilisateurs de WeChat, et bien sûr, ils prêteront attention à de nombreux Comptes publics WeChat Les articles du Compte public WeChat sont également très. long à lire. Aujourd'hui, permettez-moi d'analyser comment utiliser PHP pour écrire une méthode de collecte d'articles sur le compte public WeChat et d'expliquer le code en détail.
Il y a plusieurs problèmes dans la collecte des messages historiques des comptes publics via la recherche Sogou :
1 Il y a un code de vérification
2. la liste des messages historiques ne contient que les 10 derniers éléments de contenu publiés en masse ;
3. L'adresse de l'article a une période de validité
4. 🎜>
Il n'y a aucun moyen d'utiliser la méthode de mon article précédent pour résoudre ces problèmes, bien que la construction du système de collecte ne soit pas aussi simple que d'écrire des règles que les collectionneurs traditionnels peuvent explorer. Cependant, l’efficacité de la collecte par lots après sa mise en place reste acceptable. De plus, les adresses d'articles collectées sont valables en permanence et tous les messages historiques d'un compte public peuvent être collectés.Commençons par l'adresse du lien d'un article de compte public :
1. Copiez l'adresse du lien dans le menu dans le coin supérieur droit de WeChat :
http:/ /mp.weixin.qq.com/s/fF34bERZ0je_8RWEJjoZ5A2 L'adresse obtenue à partir de la liste des messages historiques :
http:/ /mp weixin.qq.com/s?biz=MjM5NDAwMTA2MA==&mid=2695729619&idx=1&sn=8be0b6bd0210cee0d492ebdf20f7371f&chksm=83d74818b4a0c10ef286b33bb7deb73226125f866 ddb 5b2781166066a69afef3705eabdb3b85&scene=4#wechat_redirect3. Adresse réelle complète :
mp.weixin.qq.com/s?biz=mjm5ndawmta2ma==&mid=2695729619&IDX=1&SN=8BE0BD0210DF20F7371F&CHKHKSM= 83D74818B4A0C10EF286B33bb7De b73226125F866DDB5B278166069AFEF3705EABDB3B85 & Scène = 37 & Clé A7436AEBA2C1D47A20D02194D1C944A8286A8Eded93495EEADD05DA412BBFA A638A379750AEAA4CF5C00E4D78 573C72777777715C23F23F f2400 & ascene = 3 & uin = mzuyotiynq%3d%3D & DeviceType =iOS10.1.1&version=16050120&nettype=WIFI&fontScale=100&pass_ticket=FGRyGfXLPEa4 AeOsIZu7KFJo6CiXOZex83Y5YBRglW4%3D&wx_header=1Les trois adresses ci-dessus sont les adresses du même article, obtenu à différents endroits Vous obtenez 3 résultats complètement différents.
(liste des articles enregistrés dans ma base de données, quelques champs)
1 Récupérer le code source de l'article :
Vous pouvez lire le code source de l'article dans une variable via la fonction PHP file_get_content(). Étant donné que le code source de l'article WeChat peut être ouvert depuis le navigateur, je ne le collerai pas ici pour éviter de perdre de l'espace sur la page.
<? //$content_url 变量的值为文章地址 $html = file_get_contents($content_url); ?>
2. Informations utiles dans le code source :
1) Contenu original :
Le contenu original est contenu dans une balise et est obtenu via lecode php
:<? preg_match_all("/id=\"js_content\">(.*)<script/iUs",$html,$content,PREG_PATTERN_ORDER); $content = "<p id='js_content'>".$content[1][0]; ?>
Reconnaissance régulière au début
, reconnaissance à la fin