PHP를 사용하여 WeChat 공개 계정의 기사 페이지를 수집하는 방법

韦小宝
풀어 주다: 2023-03-17 22:48:01
원래의
3576명이 탐색했습니다.

PHP를 사용하는 방법을 분석하여 WeChat 공개 계정 기사를 수집하는 방법과 PHP 코드자세히 설명하면 PHP에 관심이 있는 친구들이 배울 수 있습니다.

소고우 검색을 통해 공개 계정의 과거 메시지를 수집하는 데 몇 가지 문제가 있습니다.

인증 코드

가 있습니다. 2. 과거 메시지 목록에는 마지막 10개의 그룹 메시지만 있습니다. 기사 주소에는 유효 기간이 있습니다.

4. 일괄 수집에는 IP 변경이 필요하다고 합니다.

이전 기사의 방법을 사용하면 수집 시스템이 기존의 규칙 작성만큼 간단하지는 않습니다. 크롤링할 수집가. 그러나 한 번 설정한 후 일괄 수집의 효율성은 여전히 ​​허용됩니다. 또한, 수집된 기사 주소는 영구적으로 유효하며, 공개 계정의 모든 과거 메시지를 수집할 수 있습니다.

공개 계정 글의 링크 주소부터 시작하겠습니다:

1. 위챗 오른쪽 상단 메뉴에서 복사한 링크 주소:

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

2. 기록 메시지 목록에서 얻은 주소:

http://mp.weixin.qq.com/s?biz=MjM5NDAwMTA2MA==&mid=2695729619&idx=1&sn=8be0b6bd0210ce e0d492ebdf20f7371f&chksm=83d7 4818b4a0c10ef286b33bb7deb73226125f866ddb5b2781166066a69afef3705eabdb3b85&scene=4 #wechat_redirect实3, 전체 실제 주소:


https: //

Mp.weixin.qq.com/s? Biz = mjm5ndawmta2ma == & mid = 2695729619 & IDX = 1 & Sn & chksm = 83D74818B4A0C10EF28 6B33B7DEB73226125F866DDB5B2781166069AFEF3705EABDB3B85 & 장면 = 37 및 키 = C81d7727118A0E6ce322 BE2D9DCAA2A7436AEBA2C1D47A20D02194D1C944A8286A8Eded93495eeadd0 5DA412BBFAA6379750AEAA4D785710d9736b80E3C72770A 57A515C23FF2400 & Ascene = 3 & Uin = Mzuyotiynq %3D%3D&devicetype=iOS10.1.1&version=16050120&nettype=WIFI&fontScale=100&pass_ticket=FGRyGfXLPEa4AeOsIZu7KFJo6CiXOZex83Y5YBRglW4%3D&wx_head er=1

위 3개의 주소는 동일한 기사를 다른 위치에서 얻었을 때 완전히 다른 세 가지 결과가 나왔습니다.

기록 메시지 페이지와 유사하게 WeChat에는 매개변수를 자동으로 보완하는 메커니즘이 있습니다. 첫 번째 주소는 링크를 복사하여 얻은 것으로 위장된 인코딩인 것으로 보입니다. 사실 그것은 쓸모가 없으며 우리는 그것을 고려하지 않을 것입니다. 두 번째 주소는 이전 기사에서 소개한 방법을 통해 json 기사 기록 메시지 목록에서 얻은 링크 주소입니다. 그러면 이 주소를 통해 서버에서 기사 내용을 가져올 수 있습니다. 매개변수가 세 번째 링크에 추가된 후, 목적은 기사 페이지의 읽기 js가 읽기 좋아요의 json 결과를 얻을 수 있도록 하는 것입니다. 이전 기사의 방법에서는 클라이언트가 기사 페이지를 열고 표시하므로 기사 페이지의 js가 자동으로 읽기 볼륨을 가져오므로 프록시 서비스를 통해 이 기사의 읽기 볼륨을 얻을 수 있습니다. .
이 글의 내용은 이 칼럼의 이전 글에서 소개한 방법을 바탕으로 글의 내용과 기타 유용한 정보를 얻는 방법을 자세히 연구하는 것입니다.

(내 데이터베이스에 저장된 기사 목록, 일부 필드)

1. 기사 소스 코드 가져오기:

PHP 함수 file_get_content()를 통해 기사 소스 코드를 변수로 읽을 수 있습니다. WeChat 기사의 소스 코드는 브라우저에서 열 수 있으므로 페이지 공간 낭비를 피하기 위해 여기에 붙여넣지 않겠습니다.

<?
//$content_url 变量的值为文章地址
$html = file_get_contents($content_url);
?>
로그인 후 복사


2. 소스 코드의 유용한 정보:


1) 원본 콘텐츠:

원본 콘텐츠는

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

정규 인식의 시작

, 일치 후의 끝 인식

인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿