微信一直是一个自己玩的小圈子,前段时间搜狗推出的微信搜索带来了一丝曙光。搜狗搜索推出了内容搜索和公众号搜索两种,利用后者可以抓取微信公众号的最新内容,看了下还是比较及时的。
每个公众号都有一个openid,最早可以直接利用http://weixin.sogou.com/gzh?openid=***来获取页面,但改版后对openid进行了加密操作,使用原来的方法返回的数据为空。
利用httpFox追踪一下访问的行为,如下图:

可以看到从按下回车到页面返回还是做了不少工作的。
倒着看吧,倒数第二行,很多*的,如果用浏览器访问这个地址,返回的就是要显示的数据。如下所示:

sogou.weixin.gzhcb({"page":1,"items":["<?xml version=\"1.0\" encoding=\"gbk\"?><DOCUMENT><docid><\/docid><item> <key><![CDATA[http://mp.weixin.qq.com/]]><\/key><tplid><![CDATA[555]]><\/tplid><classid>11002601<\/classid> <display> <docid>ab735a258a90e8e1-6bee54fcbd896b2a-6deb4d71ff08347f1929b25ff173e5de<\/docid> <tplid>550<\/tplid><title><![CDATA[【突发】一艘载有400余人的客轮在长江沉没  搜救正在进行]]><\/title><url><![CDATA[http://mp.weixin.qq.com/s?__biz=MjM5MjAxNDM4MA==&mid=216655341&idx=1&sn=fd0396cb30456a310475ff351e9fa975&3rd=MzA3MDU4NTYzMw==&scene=6#rd]]><\/url><title1><![CDATA[【突发】一艘载有400余人的客轮在长江沉没  搜救正在进行]]><\/title1><imglink>……

稍微看下吧,返回的是一个函数,参数是json格式,里边的“items”项包含了我们需要的数据,数据是用xml封装的。
我们的目标就是拿到这个地址,看一下地址格式吧:

http://weixin.sogou.com/gzhjs?cb=sogou.weixin.gzhcb&openid=oIWsFt8_jYUmdw1PQgNVhH9vOEvI&eqs=u2sOoEZgaZS%2FoFkRolp3ouB8PR5ws8VLuA6UkIOcm%2FsE6V1su3gtWzdYQvnCCEr9%2FDBil&ekv=4&page=1&t=1433207090966

里边有几个参数:

  • cb:固定为“sogou.weixin.gzhcb”
  • openid:根据公众号来填
  • eqs:这个比较麻烦,下面再说
  • ekv:貌似填4就可以了
  • page:页码,默认每页显示10条,需要查看更多的时候用它来翻页
  • t:时间参数,貌似并没有什么O用

首先看看上边这些参数缺省的情况下会发生什么,t缺省了没什么影响,page缺省默认返回第一页,ekv或eqs缺省的话返回的结果里没有数据,也就是items里的数据是“[]”
所以现在的关键就在“eqs”上了。

利用chrome的开发者工具看看吧

有两个js

下面这个就是我们需要的返回数据
看看上边那个,主要的是前面两句:

<script>SogouEncrypt.setKv("8d44ae022be","4");window.aes=SogouEncrypt.encryptquery("oIWsFt_a1YRtD7vlIAkWmeqAWcBU","sogou");
</script>

字面上来看,是对openid进行了加密操作,有一个办法,就是模拟参数,然后调用这些js,需要继续看看js代码,有点头大。
另辟蹊径吧,发现加密操作中的参数都是固定的,不像新浪微博的加密操作,去看看加密后的结果吧,果然也都是固定的,以“人民日报”为例,openid=“oIWsFt_a1YRtD7vlIAkWmeqAWcBU”,加密后的eqs=“u2sOoEZgaZS/oFkRolp3ouB8PR5ws8VLuA6UkIOcm/sE6V1su3gtWzdYQvnCCEr9/DBil”……
这说明完全不需要那么复杂了,参数都是固定的,自己准备好就成。
ok,在搜狗再度改版之前,这样子是完全可以实现的。
不过好像搜狗推出了发爬虫措施,实际抓数据的时候还是小心一点。

利用搜狗抓取微信公众号文章相关推荐

  1. python利用fiddler抓取微信公众号文章及标题(简单易懂)

    1安装好fiddler配置好安全证书,这一步很简单就是安装,自己问度娘 2登录微信客户端(电脑),打开公众号滑动,查看响应信息,主要要过滤一下,排除干扰 mp.weixin.qq.com; 3可以点开 ...

  2. python公众号文章_Python 抓取微信公众号文章

    起因是刷微信的时候看到一篇文章,Python 抓取微信公众号文章保存成pdf,很容易搜到,就不贴出来了 先用chrome登陆微信公众号后台,先获取一下自己的cookie,复制下来就行,解析一下转换成 ...

  3. 记一次批量定时抓取微信公众号文章的实现

    记一次批量定时抓取微信公众号文章的实现 抓取前的说明和准备 数据的抓取 批量抓取 定时抓取 对爬虫防抓取机制的一些解决办法 最后 抓取前的说明和准备 本次抓取的选择的语言是java,本文章不会将整个工 ...

  4. java 微信文章评论点赞_使用fiddler抓取微信公众号文章的阅读数、点赞数、评论数...

    1 设置fiddler支持https 打开fiddler,在菜单栏中依次选择 [Tools]->[Options]->[HTTPS],勾上如下图的选项: 单击Actions,选择Expor ...

  5. Python实现抓取微信公众号文章

    本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章. 前言 对于抓取微信公众号文章主要通过代理ip抓包进行的操作,总会出现一些问题,以下问题导致无法抓包. ...

  6. python爬虫(17)爬出新高度_抓取微信公众号文章(selenium+phantomjs)

    个人博客请访问 http://www.x0100.top 一.思路分析 目前所知晓的能够抓取的方法有: 1.微信APP中微信公众号文章链接的直接抓取(http://mp.weixin.qq.com/s ...

  7. 【分享】如何用Pytho抓取微信公众号文章(包括阅读数,点赞数)

    本小白的第一篇技术分享博客,啊哈哈!!(石乐志) 真好,直接切入正题吧,目前来讲微信公众号文章主要有以下三种渠道可以获取,对应有三种抓取方式,如下~~ 搜狗微信点击跳入,这算是对咱reptiler最友 ...

  8. python 公众号文章发布_Python 抓取微信公众号文章

    版权声明:此文章转载自 Yushneng PyHub 如需转载请联系听云College团队成员阮小乙,邮箱:ruanqy#tingyun.com 微信公众号的文章链接有些是具有时效性的,过一段时间会变 ...

  9. 使用fiddler自动化抓取微信公众号文章的点赞与阅读数

    本文章为lonter首创,只发布在csdn平台,严禁转载 这几天接到任务,需要开发一个微信榜单的功能,因此需要采集微信公众号文章的阅读数,点赞数和评论数,榜单内的微信公众号有一百多个,每个月出一次榜单 ...

最新文章

  1. CentOS 部署 flask项目
  2. 思科将在网络中融入人工智能和机器学习
  3. Android滚动页面位置指示器:CircleIndicator
  4. Auto Encoder用于异常检测
  5. STM32 基础系列教程 15 - SPI
  6. linux忆连软件,linux安装软件方法汇总
  7. SAP Spartacus Static Multi-Site Configuration
  8. Linux 命令之 xargs -- 给其他命令传递参数的一个过滤器
  9. 聊聊 Python 调用 JS 的几种方式,你都知道吗?
  10. 学习Python的好去处,微信公众号“Python小屋”
  11. Linux 用户线程数与文件句柄树调整(nproc与nofile的问题)
  12. dede index.php权限_织梦实现全站动态,限制只有会员才能查看
  13. homebrew安装
  14. 创建目录 java_java创建文件和目录
  15. Apache RewriteCond %{REQUEST_FILENAME} 不起作用问题
  16. loadrunner:关联操作
  17. 祝各位朋友元旦快乐,新年大发!!!
  18. 线性代数(第六版) 同济大学数学系 编 高等教育出版社 课后习题答案
  19. Mac 终端命令大全
  20. 我理解的二极管工作原理

热门文章

  1. DDoS攻防战 (一) : 概述
  2. 2022茶艺师(初级)考试模拟100题模拟考试平台操作
  3. python棋牌游戏开发之斗地主
  4. Linux中合并多个Pdf文件(使用pdfunite,合并比较简单)
  5. 关于联合体及联合体嵌套结构体
  6. 蓝奏云链接打不开的解决办法
  7. 榕树贷款利用AI人工智能技术发送非常迅速(榕树贷款)
  8. Linux小白的大师之路
  9. 说下类加载器与类加载?加载的信息放在哪个区域?
  10. 每日刷题记录 (六)