Laissez-moi analyser comment utiliser PHP pour écrire une méthode de collecte d'articles sur les comptes publics WeChat et expliquer le code en détail. Les amis qui en ont besoin peuvent en tirer des leçons.
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. 10 derniers messages de groupe ;
3. L'adresse de l'article a une période de validité
4. Il est dit que la collecte par lots nécessite un changement d'IP ; article précédent, il n'y a pas de tels problèmes, bien que le système de collecte La construction n'est pas aussi simple que celle des collectionneurs traditionnels, il suffit d'écrire les règles et de les 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 :http:/ /mp.weixin.qq.com/s/fF34bERZ0je_8RWEJjoZ5A
http:/ /mp.weixin.qq.com/s?__biz=MjM5NDAwMTA2MA==&mid=2695729619&idx=1&sn=8be0b6bd0210cee0d492ebdf20f7371f&chksm=83d74818b4a0c10ef286b33bb7deb73226125f86 6ddb 5b2781166066a69afef3705eabdb3b85&scene=4#wechat_redirect
https://mp.weixin.qq.com/s?__biz=MjM5NDAwMTA2MA==&mid=2695729619&idx=1&sn=8be0b6bd0210cee0d492ebdf20f7371f&chksm=83d74818b4a0c10ef286b33bb7 deb73 226125f866ddb5b2781166066a69afef3705eabdb3b85&scene=37&key=c81d77271180 a0e6ce32be2d9dcaa2a7436aeba2c1d47a20d02194d1c944a8286a8eded93 495eeadd05 da412bbfaa638a379750aeaa4cf5c00e4d7851c5710d9b9736b80e3c72770a57a515c23ff2400&ascene=3&uin=MzUyOTIyNQ%3D%3D&devicetype =iOS10.1.1&version= 16050120&nettype=WIFI&fontScale=100&pass_ticket=FGRyGfXLPEa4AeOsIZu7KFJo6CiXOZex83Y5YBRglW4%3D&wx_header=1
Les trois adresses ci-dessus sont les adresses du même article obtenues à partir d'emplacements différents, trois. des résultats complètement différents ont été obtenus.
Semblable à la page de messages historiques, WeChat dispose d'un mécanisme pour compléter automatiquement les paramètres. La première adresse est obtenue en copiant le lien et semble être un encodage déguisé. En fait, c’est inutile et nous n’y penserons pas. La deuxième adresse est l'adresse du lien obtenue à partir de la liste des messages historiques de l'article json via la méthode introduite dans l'article précédent. Nous pouvons enregistrer cette adresse dans la base de données. Ensuite, vous pouvez obtenir le contenu de l'article depuis le serveur via cette adresse. Une fois les paramètres ajoutés au troisième lien, le but est de permettre au volume de lecture js dans la page de l'article d'obtenir le résultat json du volume de lecture et du volume similaire. Dans la méthode de notre article précédent, la page de l'article est ouverte et affichée par le client. Grâce à ces paramètres, le js dans la page de l'article obtient automatiquement le volume de lecture, nous pouvons donc obtenir le volume de lecture de cet article via le service proxy. .
Le contenu de cet article est d'étudier en détail comment obtenir le contenu de l'article et d'autres informations utiles sur la base de la méthode introduite dans l'article précédent de cette chronique.
(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); ?>
1) Contenu original :
Le contenu original est contenu dans une balise
et est obtenu via le code php :<? preg_match_all("/id=\"js_content\">(.*)<script/iUs",$html,$content,PREG_PATTERN_ORDER); $content = "<p id='js_content'>".$content[1][0]; ?>
Le début du modèle régulier est identifié comme
, et la fin est identifiée comme