如何用python刷简书文章的浏览量

作者: bigtrace | 来源:发表于2017-05-18 22:09 被阅读455次

作者:bigtrace

大家在简书上发表文章,最喜欢关心今天又多了多少访问量和赞。当然不只是简书,大部分的博客网站或者音乐社交如QQ空间,网易云音乐,都会去记录文章或者音乐的浏览或收听次数。可是你知道具体网站是怎么做到吗?

首先访问量的增加需要当前没有用户登录,页面每刷新一次,阅读量就会增加一次。

已经有人在网上做过简单研究,我这里进行更深入的探讨,并且附上python实例来教你如何快速增加简书记录访问量。

浅谈简书文章阅读量

Replay XHR

该文中给我们提供了一个很简单的办法,那就是利用chrome自带的开发者工具,来对某一个post复制cURL的命令,然后再用command line 运行这项指令。这在chrome中就类似于replay XHR选项。 不停的点击这个选项来replay,就可以让简书识别出一次浏览行为.

当然这个方法简单粗暴,但是如何利用Python里面的pycURL库来实现呢?

首先我们需要具体找到这个post命令在哪儿,然后找出post所需要提交的data form是什么

Post

我们通过对post分析,发现其提交了一个uuid的参数,而这个参数可以在第一次访问时,通过对该网页的源代码利用正则表达式找出。之后,这个uuid可以在多次POST中重复使用。

可是当通过提交uuid进行post,虽然发现其返回值为success,但访问量并未增加。于是我又对其进行更深入的分析,比如说看Request Headercookie 中是否存在关键变量,影响我们最终的结果。在不断的尝试过程中,我终于发现Request Header中需要增加OriginReferer 两个参数, 之后再代入uuid进行post便可以成功刷新访问量。

顺便一提的是,我发现cookie中的Token_session_id在每次提交时都会变,便以为这两个便是我们想要找的参数,但根据测试,其实它们可有可无。最终结论是Request Header 中就以上OriginReferer那两个参数最为重要。

实际应用

应用以上分析,我们可以利用Python 不停的调用此post 命令,来达到模拟增加访问量的目的。

下面附上代码:

提供你想访问的文章链接,和访问次数,即在code 中更改Post_linkwhile循环的次数。

模拟101次浏览某文章,效果图如下:
运行前 output 运行后
# coding=utf-8

import pycurl
import urllib
from StringIO import StringIO
import json
import re


# class definition

class shua_view_class:


    def __init__(self,link):
        self.website = unicode(link)
        self.configure()

    def shouye(self):
        buffer = StringIO()
        self.c.setopt(pycurl.URL, self.website)
        self.c.setopt(pycurl.POST, 0)
        self.c.setopt(self.c.WRITEDATA, buffer)
        self.c.perform()
        body = buffer.getvalue().decode('utf-8')
        self.uuid = re.search(r"uuid\":\"(.+)\"}", body).group(1)
        view_count = re.search(r"views_count\":(\d+)", body).group(1)
        #print self.uuid
        print "view:" + str(view_count)

    def configure(self):
        self.c = pycurl.Curl()
        USER_AGENT = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36'
        self.c.setopt(pycurl.HTTPHEADER, ['Origin: http://www.jianshu.com', 'Referer: '+self.website])    # this line is very important to if we can succeed!
        self.c.setopt(self.c.FOLLOWLOCATION, 1)
        self.c.setopt(pycurl.VERBOSE, 0)
        self.c.setopt(pycurl.FAILONERROR, True)
        self.c.setopt(pycurl.USERAGENT, USER_AGENT)

    def shuaview(self):
        data_form = {
            'uuid': self.uuid,
        }

        # print data_form

        buffer = StringIO()
        data_post = urllib.urlencode(data_form)
        url = self.website.replace("/p/","/notes/") + '/mark_viewed.json'
        #print url
        self.c.setopt(pycurl.URL, url)
        self.c.setopt(pycurl.POST, 1)
        self.c.setopt(pycurl.POSTFIELDS, data_post)
        self.c.setopt(self.c.WRITEFUNCTION, buffer.write)
        self.c.perform()

        response = buffer.getvalue()
        response_json = json.loads(response)


    def exit(self):
        self.c.close()


# main function

Post_link="http://www.jianshu.com/p/120ab95ecef3"
n = 0
app=shua_view_class(Post_link)
app.shouye()  # check the view number before we shua view
while True:
    app.shuaview()
    n += 1

    if n > 100:  # add 101 more views
        break

app.shouye() # check the view number after we shua view
app.exit()

相关文章

  • 如何用python刷简书文章的浏览量

    作者:bigtrace 大家在简书上发表文章,最喜欢关心今天又多了多少访问量和赞。当然不只是简书,大部分的博客网站...

  • It's show time

    刷一亿简书浏览量

  • 刷简书浏览量

    前言: 现在简书也算是个程序员进行文章编辑,发表文章的作品,但是,看了以往自己发布的作品,阅读量基本上就是个位数,...

  • python+selenium 刷简书浏览量 简书流量

    访问量的增加需要当前没有用户登录,页面每刷新一次,阅读量就会增加一次 不建议使用 其实刷量没有实际意义,毕竟不是真...

  • 浏览量上不去?试试把链接放到qq空间

    今天刷文,看到一个笔友说把简书的链接放到qq空间里,浏览量就蹭蹭蹭往上涨。 我在简书写字第四天,每篇文章浏览量都是...

  • 简书钻怎么才能获得

    如题,我写的文章有的浏览量很低还有简书钻,有的文章浏览量高的还有打赏的却没有简书钻,这是怎么回事,想不明白,求高人指点。

  • Python和人工智能的连载请移步公众号

    因为简书平台浏览量较低,本人决定技术文章只在掘金和公众号分享,有希望继续观看 Python 和人工智能方面的连载请...

  • 想到什么写什么

    每天打开简书会习惯性的先浏览首页的文章,首页的文章浏览量一般都有几千,在简书算是比较高的。 我又看了自己的浏览量,...

  • 今早简书出问题,至今没有恢复

    今早一打开简书,发现所有得文章浏览量,粉丝数,文集专题关注数全部变成了“0”,大概是系统出问题了,简友圈也刷不了。...

  • 正能量与负能量

    今天在简书看了几篇文章,很多写婚外情的文章浏览量很大,点赞也多,看了一篇很有深度的文章浏览量才80多,八卦的...

网友评论

    本文标题:如何用python刷简书文章的浏览量

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