找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
网推大家坛 新闻 网站推广 网站技术 查看内容

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

2017-3-23 21:10| 发布者: philon| 查看: 51| 评论: 0

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

成果

代码,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获取的,文章的永久链接,看代码,就不写明了.

运行代码截图

收藏 分享 邀请
鲜花
鲜花
握手
握手
雷人
雷人
路过
路过
鸡蛋
鸡蛋

看过本文的人还看过

已有 0 人参与

会员评论

推荐阅读

    返回顶部