作者:bigtrace

很多人大概都为自己辛辛苦苦写的文章没人看而烦恼,本文就以简书为例,通过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 Header 和cookie 中是否存在关键变量,影响我们最终的结果。在不断的尝试过程中,我终于发现Request Header中需要增加Origin 和 Referer 两个参数, 之后再代入uuid进行post便可以成功刷新访问量。

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

下面附上代码

只需要更改Post_link 和while循环的次数即可刷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_用python轻松刷简书文章访问量相关推荐

  1. 简书python_使用 Python 爬取简书网的所有文章

    01 抓取目标 我们要爬取的目标是「 简书网 」. 打开简书网的首页,随手点击一篇文章进入到详情页面. 我们要爬取的数据有:作者.头像.发布时间.文章 ID 以及文章内容. 02 准备工作 在编写爬虫 ...

  2. Python自动刷取csdn文章访问量(不需安装任何组件)

    整理的算法模板:ACM算法模板总结(分类详细版) 可能这是最傻最笨的方法了,消耗电脑CPU:(纯属娱乐) 就是用Python命令不断打开网页关闭网页: 注意由于一个ip连续访问同一篇文章的时候会有时间 ...

  3. 自学python买什么书比较好-python入门学习哪个书比较好(python视频教程知乎)

    自学python的学习路线是什么?推荐一些python学习资源 第一段 初级,掌握Python的语法和常用库的使用 这里首先推雪锋在网上的书籍,这是Python2.7的,这本书适合于重头开始一直读完, ...

  4. python+selenium 刷简书浏览量 简书流量

    from selenium import webdriverdriver = webdriver.Chrome() driver.get('https://www.jianshu.com/p/054f ...

  5. python极简应用_30个Python常用极简代码,拿走就用

    学 Python 怎样才最快,当然是实战各种小项目,只有自己去想与写,才记得住规则.本文是 30 个极简任务,初学者可以尝试着自己实现:本文同样也是 30 段代码,Python 开发者也可以看看是不是 ...

  6. Python轻松实现对英文文章单词总数统计

    一篇英文文章,要统计其中单词总数.在Python中可以很轻松的实现,假如英文文章为this.txt,里面的内容就是import this这个彩蛋的内容. >>> import thi ...

  7. [译] 12步轻松搞定python装饰器 - 简书

    [译] 12步轻松搞定python装饰器 - 简书 呵呵!作为一名教python的老师,我发现学生们基本上一开始很难搞定python的装饰器,也许因为装饰器确实很难懂.搞定装饰器需要你了解一些函数式编 ...

  8. python刷阅读_通过python+selenium3实现浏览器刷简书文章阅读量

    准备工作 下载python,本文以python3.6为例.python3.6下载地址:python3下载地址,选择合适的版本安装.安装成功后,打开命令提示符,在其中输入python,显示如下信息,则说 ...

  9. python运维脚本简书_通过python+selenium3实现浏览器刷简书文章阅读量

    准备工作 下载python,本文以python3.6为例.python3.6下载地址:python3下载地址,选择合适的版本安装.安装成功后,打开命令提示符,在其中输入python,显示如下信息,则说 ...

最新文章

  1. mysql忘记密码可以卸载吗_mysql忘记密码,修改密码重新安装的一些问题
  2. python目录及文件_零基础小白必看:python基本操作-文件、目录及路径
  3. 企业使用RTX腾讯通2013
  4. Oracle Schema Objects——Tables——TableType
  5. python可视窗口_Python数据可视
  6. spring boot web 开发示例
  7. 自驾游你会经常自己做饭吗?
  8. QT中文乱码的解决方法,一劳永股的解决方法,如下
  9. android nfc贴卡多次读写,Android Studio NFC 读写卡程序 (二)(示例代码)
  10. 8.字典操作。建立一个月份与天数的字典monthdays,月份为“Jan”“Feb”“Mar”“Apr”“May”“Jun” “Jul” “Aug” “Sep” “Oct” “Nov“ “Dec“
  11. sre和devops_什么是SRE,它与DevOps有什么关系?
  12. vue3---dayjs-入门及常用方法
  13. 一年中最后一个月的最后一天说说_2020只剩最后一个月的励志说说致自己
  14. CAD偏移曲线(网页版)
  15. 嵌入式ARM64 Linux内核FIT uimage方式启动
  16. EBS WebADI:标准Web ADI模板@日记账导入
  17. 毕业设计 stm32单片机的家庭成员监控监护系统 - 物联网 嵌入式
  18. OPPO手机新专利曝光!180°旋转摄像头,或能引领摄像新风尚
  19. wap2app(三)-- 添加引导页
  20. 《天下贰》新版本“逐鹿中原”今日公测 开启PK新模式

热门文章

  1. Fortify常见漏洞解决方案
  2. 2019/11/02【搜索插入位置】【有效的数独】
  3. 057.(2.26)遇到人生低谷期该怎么度过?
  4. 农村环境保护之平时作业三
  5. 通过层序和中序遍历序列重建二叉树
  6. vue之vue的生命周期、swiper、自定义组件的封装、自定义指令、过滤器、单文件组件及vue-cli
  7. CSDN的markdown编辑器使用(含表格背景色、文本颜色字体字号、锚点跳转、表情符号等)
  8. Java 线程池 8 种拒绝策略
  9. 543.diameter-of-binary-tree
  10. 路由器备份文件查看 Android,【教程】用安卓系统 手机查看路由U盘内容的方法...