node爬虫(nodejs爬虫抓取搜狗微信文章代码)

 2023-10-16  阅读 722  评论 0

摘要:成果代码,github地址 : https://github.com/zzwwjjdj319/wechat_crawler展示地址 : http://117.40.138.188:15978/wxmatrix/app/page/article-top-list使用模块async -- 异步流程控制
成果

node爬虫(nodejs爬虫抓取搜狗微信文章代码)(1)

node爬虫(nodejs爬虫抓取搜狗微信文章代码)(2)

代码,github地址 : https://github.com/zzwwjjdj319/wechat_crawler

展示地址 : http://117.40.138.188:15978/wxmatrix/app/page/article-top-list

使用模块

  • async -- 异步流程控制 基本使用 : http://blog.csdn.net/zzwwjjdj1/article/details/51857959

  • request -- 抓取网站模块 官网 : https://www.npmjs.com/package/request

  • cheerio -- 处理html模块 官网 : https://www.npmjs.com/package/cheerio

思路

爬取的思路 : 从搜索开始 -> 进入公众号文章列表页面 -> 再分别访问每篇文章 ->同时ajax获取点赞量,阅读量等信息. 因为公众号文章列表和文章内容页的url都是临时链接,大概是2个小时过期,所以每次都需要从搜索开始爬取.

代码说明一

app.js是主文件,npm installnode app 就可以启动爬虫任务,测试是支付宝公众号,爬取了最近5篇文章;

代码说明二

从app.js能看出调用了3个方法,分别是search_wechat, look_wechat_by_url, get_info_by_url

common.js就是实现了这3个方法,和需要调用的其他方法.

爬虫第一步

首先就是根据提供的微信号.搜索公众号,获取公众号列表 -- common.js里的 search_wechat 方法

得到公众号的临时URL

爬虫第二步

访问临时的公众号URL -- common.js里的look_wechat_by_url 方法,得到最近10条图文消息列表,注意

这里搜狗微信做了反爬虫机制,经常出现验证码,代码中需要破解验证码,nodejs识别验证码暂时没找到好用的模块,

我使用的是第三方接口实现的.授权码已屏蔽.

所有文章数据在JS代码中,通过正则获取. match(/var msgList = ({. }}]});?/) ,分析数据结构,

重组成自己需要的数据结构.

爬虫第三步

根据图文url获取详细信息,发布日期,作者,公众号,阅读量,点赞量等 -- common.js里的 get_info_by_url方法

其中,阅读量和点赞量是ajax获取的,微信文章的永久链接,看代码,就不写明了.

运行代码截图

node爬虫(nodejs爬虫抓取搜狗微信文章代码)(3)

意外金喜的博客 : http://blog.csdn.net/zzwwjjdj1

,

版权声明:xxxxxxxxx;

原文链接:http://cn.tdroid.net/cec1aCz0HAQ4NXw.html

发表评论:

管理员

  • 内容265593
  • 积分0
  • 金币0
关于我们
lecms主程序为免费提供使用,使用者不得将本系统应用于任何形式的非法用途,由此产生的一切法律风险,需由使用者自行承担,与本站和开发者无关。一旦使用lecms,表示您即承认您已阅读、理解并同意受此条款的约束,并遵守所有相应法律和法规。
联系方式
电话:
地址:广东省中山市
Email:
注册登录
注册帐号
登录帐号

Copyright © 2022 太卓开发网 Inc. 保留所有权利。 泰达科技网易库网

页面耗时0.1037秒, 内存占用1.33 MB, 访问数据库18次