美文网首页Python爱好者
获取搜狗微信中文章的阅读量和点赞量等数据

获取搜狗微信中文章的阅读量和点赞量等数据

作者: 力气强 | 来源:发表于2017-02-03 21:49 被阅读3251次

在线工具:微信文章转PDF
2018.1.29

搜狗微信搜索链接为临时链接

通过搜狗微信搜索(weixin.sogou.com)搜索出来的文章,在文章底部都是有阅读数和点赞数等数据的。其打开文章页面的链接是临时链接,和平时通过微信朋友圈分享的链接不一样,看下面可以看出具体的区别:

搜狗微信单篇文章链接:
http://mp.weixin.qq.com/s?timestamp=1486126386&src=3&ver=1&signature=lnkECanZ6wCApm3BZ2Tsv1D9w5hX9ZYrn3SkBX31HChzFvWju-TpJEcRUyqTG1dg*rJfa8u73L6diEIRbTIBugnWnB8VLBOAc7eJIdUmk2Lxqd*njb24cM4e7OMjX8yN7t8GjyAeH3v6zQzDSWecVU5cRCWaf5DZM9QU49VNt5k=

永久链接:
http://mp.weixin.qq.com/s?__biz=MzI4NjQyMTM2Mw==&mid=2247483659&idx=1&sn=0df398158e5ff9a76224309310bae1e1&mpshare=1&scene=1&srcid=0203D18zRj9KotP8Eg6Vbts1#rd

本篇文章所获取的阅读量和点赞量等数据,是基于搜狗微信搜索中的临时链接的,即上面第一种。下面所使用的链接,也是上面第一条链接。

不出意外的话,您在浏览本文时,上面第一条链接将会失效,所以您如果需要测试本文提供的方法,请自己通过搜狗微信获取下任意一篇此时此刻的临时链接。

获取阅读量和点赞量的方法

此搜狗微信单篇文章的url里面有两个参数是比较重要的,下面方法中会用到:

  1. timestamp:1486126386
  2. signature:lnkECanZ6wCApm3BZ2Tsv1D9w5hX9ZYrn3SkBX31HChzFvWju-TpJEcRUyqTG1dg*rJfa8u73L6diEIRbTIBugnWnB8VLBOAc7eJIdUmk2Lxqd*njb24cM4e7OMjX8yN7t8GjyAeH3v6zQzDSWecVU5cRCWaf5DZM9QU49VNt5k=

虽然浏览器会显示阅读数和点赞数,但通过查看网页源代码可知,阅读量和点赞量这两个数据并不在源代码之中,即这两个数据是通过JavaScript后期所生成的。所以直接通过Python获取此网页源码,并不会包含阅读量和点赞量。

幸运的是,有个接口,可以直接获得阅读量和点赞量这两个数据。注意下面链接中的timestampsignature参数,即是通过上面临时链接中所提取出来的:

http://mp.weixin.qq.com/mp/getcomment?src=3&timestamp=1486126386&ver=1&signature=lnkECanZ6wCApm3BZ2Tsv1D9w5hX9ZYrn3SkBX31HChzFvWju-TpJEcRUyqTG1dg*rJfa8u73L6diEIRbTIBugnWnB8VLBOAc7eJIdUmk2Lxqd*njb24cM4e7OMjX8yN7t8GjyAeH3v6zQzDSWecVU5cRCWaf5DZM9QU49VNt5k=

通过GET方法请求上面链接、或直接复制上面链接在浏览器中打开,便可返回下面内容:

{"base_resp":{"ret":0,"errmsg":"ok"},"comment":[],"elected_comment_total_cnt":0,"read_num":8,"like_num":1}

其中read_numlike_num即我们的目标,文章此时此刻的阅读量和点赞量。编码时,只需通过正则表达式提取上面的内容即可。

思路有了,编码部分便很简单了,下面给出最简单的代码。

具体获取阅读量和点赞量的Python代码

#coding:utf-8
import requests,re
# 输入基于搜狗微信的文章临时链接,获取阅读数和点赞数
def get_c_detail(url):
    # 临时文章链接
    linshi_link = url.encode('utf-8')
    # 正则表达式,提取timestamp和signature参数
    timestamp = re.findall('timestamp=(\d+)',url)[0]
    signature = re.findall('signature=(.+)',url)[0]
    # 生成接口链接
    s = 'http://mp.weixin.qq.com/mp/getcomment?src=3&timestamp=%s&ver=1&signature=%s' % (timestamp,signature)
    # get方法获取接口信息
    r = requests.get(s)
    if r.status_code == 200:
        c = r.content
        # 正则表达式,提取阅读数和点赞数
        # 阅读数
        read_num = re.findall('"read_num":(\d+)',c)[-1]
        # 点赞数
        like_num = re.findall('"like_num":(\d+)',c)[-1]
        return read_num,like_num

url = 'http://mp.weixin.qq.com/s?timestamp=1486126386&src=3&ver=1&signature=lnkECanZ6wCApm3BZ2Tsv1D9w5hX9ZYrn3SkBX31HChzFvWju-TpJEcRUyqTG1dg*rJfa8u73L6diEIRbTIBugnWnB8VLBOAc7eJIdUmk2Lxqd*njb24cM4e7OMjX8yN7t8GjyAeH3v6zQzDSWecVU5cRCWaf5DZM9QU49VNt5k='
print get_c_detail(url)

相关文章

  • 获取搜狗微信中文章的阅读量和点赞量等数据

    在线工具:微信文章转PDF2018.1.29 搜狗微信搜索链接为临时链接 通过搜狗微信搜索(weixin.sogo...

  • wechat_spider 微信爬虫

    基于Node 的微信爬虫,通过中间人代理的原理,批量获取微信文章数据,包括阅读量、点赞量和评论等数据。 开始 安装...

  • 12.07—12.11

    【微信订阅号页面改版:推文封面可看到阅读量、点赞等数据 】在最新的安卓内测版微信中,订阅号页面已经发生了改版,现在...

  • 穿豹纹,写爆文

    最近写的文章,阅读量创了历史新低,连上了首页的文章,点赞量也只有1个,没错,我自己点的。 面对这惨淡的阅读量和点赞...

  • 简书到底怎么了?

    每次打开简书,推荐都是不忍直视。 真正用心写的文章阅读量和点赞量都寥寥无几,那些拿题目博眼球的阅读量和点赞量几十万...

  • 想走的路不好走,想做的人不好做

    昨天的《二舅的影响问题》阅读量和点赞量突破40阅读和4点赞。这真的是最近最好的阅读量啦。 我看了最近很多的首页文章...

  • 阅读量和点赞量

    这两天系统不停提示我的点赞量暴增,但是我翻遍记录却发现阅读量并没有增加。 我很奇怪,阅读量没有但是点赞量却很多,这...

  • 【读书清单】学会写作(三)

    1、了解文章写的好不好的三种方法 ①和读者互动,根据读者反馈调整写作。 ②根据阅读量、点赞、赞赏等数据。 ...

  • 关于简书的几个问题,恳请大佬指导一下。

    1.为何有的文章阅读量和点赞量比其他的高,反而没有钻或贝,点赞和阅读量低的反而有呢? 2.所谓的加成卡是指加什么?...

  • 阅读量不高,该如何对待?

    最近读了很多简友的文章,很多朋友似乎是为了阅读量而来的,过度关注文章的阅读量,阅读量和点赞率不高就有点丧失...

网友评论

  • 胖胖你要好好敲代码:现在除了手机模拟点击获取点赞和阅读数还有什么奇淫的技巧么?
    力气强:@胖胖你要好好敲代码 好像只有手机模拟咯
  • 吴士豪:很遗憾,这方法昨天晚上开始GG了。。。
    42d502dd2b82:这个貌似总变,昨天看还有,今天这个接口就没了
    吴士豪:@即刻极客 我这边也是用手机模拟抓取,然后封号封的飞起。。。不敢把频率定的太快
    力气强:@吴士豪 这个方法很久不用了 目前是直接从手机上获得数据了
  • 6de098b75a36:比较遗憾的是搜狗很容易被封。。

本文标题:获取搜狗微信中文章的阅读量和点赞量等数据

本文链接:https://www.haomeiwen.com/subject/ehtjittx.html