獲取搜狗微信中文章的閱讀量和點贊量等數(shù)據(jù)

在線工具:微信文章轉(zhuǎn)PDF

搜狗微信搜索鏈接為臨時鏈接

通過搜狗微信搜索(weixin.sogou.com)搜索出來的文章,在文章底部都是有閱讀數(shù)和點贊數(shù)等數(shù)據(jù)的。其打開文章頁面的鏈接是臨時鏈接,和平時通過微信朋友圈分享的鏈接不一樣,看下面可以看出具體的區(qū)別:

搜狗微信單篇文章鏈接:
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

本篇文章所獲取的閱讀量和點贊量等數(shù)據(jù),是基于搜狗微信搜索中的臨時鏈接的,即上面第一種。下面所使用的鏈接,也是上面第一條鏈接。

不出意外的話,您在瀏覽本文時,上面第一條鏈接將會失效,所以您如果需要測試本文提供的方法,請自己通過搜狗微信獲取下任意一篇此時此刻的臨時鏈接。

獲取閱讀量和點贊量的方法

此搜狗微信單篇文章的url里面有兩個參數(shù)是比較重要的,下面方法中會用到:

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

雖然瀏覽器會顯示閱讀數(shù)和點贊數(shù),但通過查看網(wǎng)頁源代碼可知,閱讀量和點贊量這兩個數(shù)據(jù)并不在源代碼之中,即這兩個數(shù)據(jù)是通過JavaScript后期所生成的。所以直接通過Python獲取此網(wǎng)頁源碼,并不會包含閱讀量和點贊量。

幸運的是,有個接口,可以直接獲得閱讀量和點贊量這兩個數(shù)據(jù)。注意下面鏈接中的timestampsignature參數(shù),即是通過上面臨時鏈接中所提取出來的:

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

通過GET方法請求上面鏈接、或直接復(fù)制上面鏈接在瀏覽器中打開,便可返回下面內(nèi)容:

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

其中read_numlike_num即我們的目標(biāo),文章此時此刻的閱讀量和點贊量。編碼時,只需通過正則表達(dá)式提取上面的內(nèi)容即可。

思路有了,編碼部分便很簡單了,下面給出最簡單的代碼。

具體獲取閱讀量和點贊量的Python代碼

#coding:utf-8
import requests,re
# 輸入基于搜狗微信的文章臨時鏈接,獲取閱讀數(shù)和點贊數(shù)
def get_c_detail(url):
    # 臨時文章鏈接
    linshi_link = url.encode('utf-8')
    # 正則表達(dá)式,提取timestamp和signature參數(shù)
    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
        # 正則表達(dá)式,提取閱讀數(shù)和點贊數(shù)
        # 閱讀數(shù)
        read_num = re.findall('"read_num":(\d+)',c)[-1]
        # 點贊數(shù)
        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)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,159評論 25 708
  • 生活大概就是:偶爾充滿希望、經(jīng)常感到絕望、 偶爾斗志昂揚(yáng)、經(jīng)常懶在床上。 最舒服的狀態(tài):就是做真實的自己。 該吃吃...
    篤學(xué)青衿閱讀 278評論 2 2
  • 文/語玲瓏 峰巒如聚,波濤如怒。黃河,如狂野豪放的北方漢子,一路狂奔,穿越黃土高原,裹挾著黃土,翻滾著黃濤,滋養(yǎng)出...
    語玲瓏閱讀 2,192評論 130 105

友情鏈接更多精彩內(nèi)容