콘솔 출력:
기사 데이터:
HTML 미리보기:
현재 기사 크롤링에는 두 가지 방법이 지원됩니다.
Sogou WeChat 검색 결과를 통해 기사를 찾아보세요.
장점: 이 방법은 로그인 인증이 필요하지 않으며 조작이 간단합니다.
단점: 마지막 10개의 데이터만 캡처할 수 있습니다.
사용 시나리오: 대량의 데이터를 얻기 위해 예약된 크롤링 작업을 구성하는 데 적합합니다.
WeChat 공개 계정 기사 목록의 Ajax 요청 매개변수를 가로채고 WeChat 클라이언트를 시뮬레이션하여 기사 목록과 기사 정보를 읽습니다.
장점: 공개 계정의 모든 기사 데이터를 얻을 수 있습니다.
단점: 위챗에 로그인하고 도구를 통해 쿠키 등의 매개변수를 수동으로 설정해야 사용할 수 있습니다.
사용 시나리오: 대량의 공개 계정 데이터를 한 번에 캡처하고, 캡처가 완료된 후 Sogou 방식으로 데이터를 업데이트합니다.
NodeJS 및 NPM, Chrome 브라우저, WeChat 데스크톱 클라이언트(Mac 또는 Windows)
git clone [email protected]:f111fei/article_spider.git
cd article_spider
npm install typescript -g
npm install
tsc
프로젝트 루트 디렉터리에 config.json
파일을 설정합니다. 필드는 다음과 같이 정의됩니다.
interface Config {
// 必填,要抓取的微信公众号名称。
name: string;
// 可选,若快打码平台的账号密码。用于搜狗抓取模式下自动识别验证码。
ruokuai: {
username: string;
password: string;
};
wechat: {
// 可选,要抓取文章的起始页,默认0
start?: number;
// 可选,要抓取的文章数,默认不限制
maxNum?: number;
// 可选,抓取模式(sougou, all)。默认all
mode?: string;
// 抓取模式为all时有效,公众号的biz字段,获取方法参见下面
biz?: string;
// 抓取模式为all时有效,当前cookie字段,获取方法参见下面
cookie?: string;
// 抓取模式为all时有效,当前appmsg_token字段,获取方法参见下面
appmsg_token?: string;
};
}
크롤링 모드가 sougou
인 경우 이 섹션을 건너뛰세요.
기사 목록의 Ajax 요청 데이터를 얻으려면 기사 목록 데이터를 얻기 위한 요청을 캡처하고 biz, cookie, appmsg_token 등과 같은 주요 매개변수를 찾아야 합니다. 요청 매개변수를 가져오는 방법은 다음과 같습니다.
NASA爱好者
의 공개 계정을 예로 들어보겠습니다.
1. 공식 계정을 엽니다 --- 오른쪽 상단 --- 기록 메시지를 보려면 클릭하세요
참고: 구성의
name
필드는NASA爱好者
아닌 WeChat IDnasawatch
로 채워야 합니다.
2. 열린 창에서 메뉴 바의 기본 브라우저(크롬)로 열기를 클릭한 후, 크롬을 사용하여 기사 목록 페이지를 엽니다.
3. 브라우저에서 링크를 열었을 때 링크가 나타나면请在微信客户端打开链接。
올바른 URL을 얻으려면 아래 단계를 따르십시오. 그렇지 않으면 이 단계를 건너뜁니다.
WeChat 클라이언트를 닫고 WeChat 데스크톱 클라이언트 실행 프로그램의 위치를 찾으세요. 명령줄을 사용하여 프로그램을 시작합니다.
Windows에서는 일반적으로 다음과 같습니다.
"C:Program Files (x86)TencentWeChatWeChat.exe" --remote-debugging-port=9222
Mac에서는 일반적으로 다음과 같습니다.
"/Applications/WeChat.app/Contents/MacOS/WeChat" --remote-debugging-port=9222
1단계에 따라 기록 메시지 페이지를 엽니다.
Chrome 브라우저를 사용하여 URL http://127.0.0.1:9222/json
을 엽니다.
URL 필드를 복사하여 새 탭에서 열면 올바른 기록 메시지 페이지가 표시됩니다.
4. 기록 메시지 페이지에서 마우스 오른쪽 버튼을 클릭하고 ---- 확인하고 Chrome 개발자 도구를 엽니다. ---- 네트워크 탭으로 전환합니다. ---- 브라우저를 새로 고칩니다. 오른쪽에서 cookie, biz, appmsg_token 및 기타 필드를 찾아 config.json
에 입력하세요.
https://mp.weixin.qq.com/mp/profile_ext?action=getmsg
로 시작하는 요청을 찾고 해당 매개변수를 보려면 목록 페이지를 아래로 스크롤하여 다음 페이지를 로드해야 합니다.
이러한 필드는 몇 시간 후에 유효하지 않게 될 수 있으며, 위 단계에 따라 해당 필드를 다시 얻을 수 있습니다.
npm start
크롤링된 기사 정보, 사진, 원본 기사 데이터는 프로젝트 루트 디렉터리의 db 폴더에 저장됩니다.