Heim >Backend-Entwicklung >PHP-Tutorial >So erhalten Sie die Artikelseite zum öffentlichen WeChat-Konto

So erhalten Sie die Artikelseite zum öffentlichen WeChat-Konto

墨辰丷
墨辰丷Original
2018-05-17 09:45:505241Durchsuche

Lassen Sie mich analysieren, wie Sie mit PHP eine Methode zum Sammeln öffentlicher WeChat-Kontoartikel schreiben und den Code im Detail erklären. Freunde, die ihn benötigen, können daraus lernen.

Es gibt mehrere Probleme beim Sammeln historischer Nachrichten öffentlicher Konten:

1. Es gibt einen Bestätigungscode.

2 letzte 10 Gruppennachrichten;

3. Die Artikeladresse hat eine Gültigkeitsdauer

Durch die Methode in meinem Im vorherigen Artikel gibt es keine derartigen Probleme, obwohl das Sammelsystem nicht so einfach aufgebaut ist wie bei herkömmlichen Sammlern. Schreiben Sie einfach die Regeln auf und kriechen Sie sie. Allerdings ist die Effizienz der Batch-Sammlung nach einmaliger Einrichtung immer noch akzeptabel. Darüber hinaus sind die gesammelten Artikeladressen dauerhaft gültig und alle historischen Nachrichten eines öffentlichen Kontos können gesammelt werden.

Beginnen wir mit der Linkadresse eines öffentlichen Kontoartikels:


1 Kopieren Sie die Linkadresse aus dem Menü in der oberen rechten Ecke von WeChat:

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


2. Die aus der historischen Nachrichtenliste erhaltene Adresse:

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


3. Vollständige echte Adresse:

https://mp.weixin.qq.com/s?__biz=MjM5NDAwMTA2MA==&mid=2695729619&idx=1&sn=8be0b6bd0210cee0d492ebdf20f7371f&chksm=83d74818b4a0c10ef286b33 bb7deb73 226125f866ddb5b2781166066a69afef3705eabdb3b85&scene=37&key=c81d77271180. a0e6ce32be2d9dcaa2a7436aeba2c1d47a20d02194d1c944a8286a 8eded93495eeadd05 da412bbfaa638a379750aeaa4cf5c00e4d7851c5710d9b9736b80e3c72770a57a515c23ff2400&ascene=3&uin=MzUyOTIyNQ%3D%3D&devicetype =iOS10.1.1&version= 16050120&nettype=WIFI&fontScale=100&pass_ticket=FGRyGfXLPEa4AeOsIZu7KFJo6CiXOZex83Y5YBRglW4%3D&wx_header=1

Die oben genannten drei Adressen sind die Adressen desselben Artikels, drei vollständig Es wurden unterschiedliche Ergebnisse erzielt.

Ähnlich wie die Seite mit historischen Nachrichten verfügt WeChat über einen Mechanismus zur automatischen Ergänzung von Parametern. Die erste Adresse wird durch Kopieren des Links erhalten und scheint eine getarnte Verschlüsselung zu sein. Tatsächlich ist es nutzlos und wir werden es nicht in Betracht ziehen. Die zweite Adresse ist die Linkadresse, die mit der im vorherigen Artikel vorgestellten Methode aus der JSON-Artikelliste der historischen Nachrichten abgerufen wird. Wir können diese Adresse in der Datenbank speichern. Anschließend können Sie über diese Adresse den Artikelinhalt vom Server abrufen. Nachdem die Parameter zum dritten Link hinzugefügt wurden, besteht der Zweck darin, dem Lesevolumen js auf der Artikelseite zu ermöglichen, das JSON-Ergebnis des Lesevolumens und des ähnlichen Volumens zu erhalten. Bei der Methode unseres vorherigen Artikels wird die Artikelseite vom Client geöffnet und angezeigt. Aufgrund dieser Parameter erhält der js auf der Artikelseite automatisch das Lesevolumen, sodass wir das Lesevolumen dieses Artikels über den Proxy-Dienst erhalten können . .

Der Inhalt dieses Artikels besteht darin, im Detail zu untersuchen, wie man Artikelinhalte und andere nützliche Informationen basierend auf der im vorherigen Artikel dieser Kolumne vorgestellten Methode erhält.

(Liste der in meiner Datenbank gespeicherten Artikel, einige Felder)

1. Holen Sie sich den Quellcode des Artikels:

Sie können den Quellcode des Artikels über die PHP-Funktion file_get_content() in eine Variable einlesen. Da der Quellcode des WeChat-Artikels über den Browser geöffnet werden kann, werde ich ihn hier nicht einfügen, um Platzverschwendung auf der Seite zu vermeiden.

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

2. Nützliche Informationen im Quellcode:

1) Originalinhalt:

Der Originalinhalt ist in einem cfd680454c127ace0ad40a8afa2cb84a94b3e26ee717c64999d7867364b1b4a3-Tag enthalten, das über den PHP-Code abgerufen wird:

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

Der Anfang des regulären Musters identifiziert cfd680454c127ace0ad40a8afa2cb84a und das Ende identifiziert