PHP writing WeChat public account article page collection method_php example

韦小宝
Release: 2023-03-17 18:46:01
Original
2025 people have browsed it

Nowadays, there are more and more WeChat users. Of course, they will pay attention to manyWeChat public accounts. It can be seen that the articles inWeChat public accountsare very long to read. Today Let me analyze how to use PHP to write a method of collectingWeChat public accountarticles and explain the code in detail. Let's take a look together!

There are several problems in collecting historical messages of public accounts through Sogou search:

1. There is averification code;

2. The historical message list only has the latest 10 pieces of bulk content;

3. The article address has a validity period;

4. It is said that you need to change the IP for batch collection;

There is no way through the method in my previous article For these problems, although the construction of the collection system is not as simple as writing rules for traditional collectors to crawl. However, the efficiency of batch collection after being set up once is still acceptable. Moreover, the collected article addresses are permanently valid, and all historical messages of a public account can be collected.
Let’s start with the link address of a public account article:

1. Copy the link address from the menu in the upper right corner of WeChat:

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

2. The address obtained from the historical message list:

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

3. Complete real address:

Https: //##mp.weixin.qq.com/s? biz = mjm5ndawmta2ma == & mid = 2695729619 & IDX = 1 & SN = 8BE0B6BD0210DF20F7371F & C & C HKSM = 83D74818B4A0C10EF286B33bb7Deb73226125F866DDB5B2781166069AFEF3705EABDB3B85 & Scene = 37 & KEY = C81D77727118A0E6CE32BE2D 9DCAA2A7436AEBA2C1D47A20D02194D1C944A8286A8EDED93495EEADD05DA4 12 BBFAA638A379750AAA4CF5C00E4D785710D9736C72770A57775a5a5a5a5a5a5a5a57a5 15C23FF2400 & Ascene = 3 & uin = mzuyotiynq%3d%3D & DeviceType =iOS10.1.1&version=16050120&nettype=WIFI&fontScale=100&pass_ticket=FGRyGfXLPEa4AeOsIZu7KFJo6CiXOZex83Y5YBRglW4%3D&wx_header=1

The above 3 addresses are the addresses of the same article. If you obtain them from different locations, you will get completely different 3 addresses. results.

Like the historical message page, WeChat has a mechanism for automatically supplementing parameters. The first address is obtained by copying the link and seems to be a disguised encoding. In fact, it’s useless and we won’t consider it. The second address is the link address obtained from the json article list of historical messages through the method introduced in the previous article. We can save this address to the database. Afterwards, the article content can be obtained from the server through this address. After the parameters are added to the third link, the purpose is to allow the reading js in the article page to obtain the json result of the reading likes. In the method of our previous article, the article page is opened and displayed by the client. Because of these parameters, the js in the article page automatically obtains the reading volume, so we can obtain the reading volume of this article through the proxy service. .

The content of this article is to study in detail how to obtain article content and other useful information based on the method introduced in the previous article of this column.

(list of articles saved in my database, some fields)

1. Get the source code of the article:

You can read the article source code into a variable through the PHP function file_get_content(). Since the source code of the WeChat article can be opened from the browser, I will not paste it here to avoid wasting page space.


Copy after login


2. Useful information in the source code:

1) Original content :

The original content is contained in a

tag, obtained through

php code:


(.*)