严格来讲是给在OSC上贡献过内容的OSC用户刷积分。

OSC很多操作都需要消耗积分,很多人给OSC贡献了内容,

但是却没有人点赞,所以有些人在OSC混了很多年也没有积分。

本文中使用到的工具有gifcam 、fiddler 、Wireshark。gifcam 是一个小巧的GIF录屏软件,可以把你电脑上的操作录成GIF动图。

fiddler是一个专注于http抓包的工具,Wireshark知名网络抓包工具.

使用到的第三方python库有requests,非常好用的http库.

tqdm 是一个字符界面的进度条库,用来显示一个进度条.

以下给OSC代码频道点赞的HTTP抓包:

POST http://www.oschina.net/action/code/vote?user=96078&id=56399&vote=true HTTP/1.1
Host: www.oschina.net
Connection: keep-alive
Content-Length: 0
Accept: */*
Origin: http://www.oschina.net
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36
DNT: 1
Referer: http://www.oschina.net/code/snippet_2294527_56399
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.8,en;q=0.6
Cookie: aliyungf_tc=AQAAAPQVanIYog4AcqTY3miEpBuE23as; oscid=E6bU16Ju1HvE6Yzbnu8glj%2F9WLxOYWRWYxXAtsj0Aej07gXXkM40x8fUrYQQC%2BjMrW1%2FQHYHaASCi3mDoeDQrJ%2Bp%2B5Osd1yhR737Ok7o%2BpTQTh4UQ6bITg%3D%3D

给代码频道刷积分的python代码:

"""
2016年5月24日 09:06:46 codegay 进度条库tqdm 的github地址:
https://github.com/noamraph/tqdm
""" from requests import post
from tqdm import trange
from time import sleep #tqdm是一个字符界面的进度条库
#安装命令pip install tqdm httphead={'Accept':'*/*',
'Origin':'http://www.oschina.net',
'X-Requested-With':'XMLHttpRequest',
'User-Agent':'Safari/537.36',
'DNT':'1',
'Referer':'http://www.oschina.net/code/snippet_2294527_56399',
'Accept-Encoding':'gzip, deflate',
'Accept-Language':'zh-CN,zh;q=0.8,en;q=0.6', } cookie={'aliyungf_tc':'AQAAAPQVanIYog4AcqTY3miEpBuE23as',
'oscid':'E6bU16Ju1HvE6Yzbnu8glj%2F9WLxOYWRWYxXAtsj0Aej07gXXkM40x8fUrYQQC%2BjMrW1%2FQHYHaASCi3mDoeDQrJ%2Bp%2B5Osd1yhR737Ok7o%2BpTQTh4UQ6bITg%3D%3D', } url='http://www.oschina.net/action/code/vote?user=96078&id={0}&vote=true'
for r in trange(56422,1,-1):
try:
post(url.format(r),headers=httphead,cookies=cookie)
sleep(0.1)
except:
pass

以下是fiddler 给翻译段落点赞的抓包:

POST http://www.oschina.net/action/translate/vote_block HTTP/1.1
Host: www.oschina.net
Connection: keep-alive
Content-Length: 19
Accept: */*
Origin: http://www.oschina.net
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36
Content-Type: application/x-www-form-urlencoded
DNT: 1
Referer: http://www.oschina.net/translate/use-open-source-to-hone-your-programming-skills
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.8,en;q=0.6
Cookie: aliyungf_tc=AQAAAPQVanIYog4AcqTY3miEpBuE23as; oscid=E6bU16Ju1HvE6Yzbnu8glj%2F9WLxOYWRWYxXAtsj0Aej07gXXkM40x8fUrYQQC%2BjMrW1%2FQHYHaASCi3mDoeDQrJ%2Bp%2B5Osd1yhR737Ok7o%2BpTQTh4UQ6bITg%3D%3D id=50710&user=96078

以下python代码是给osc贡献翻译的段落点赞:

"""
2016年5月24日 09:06:46 codegay 进度条库tqdm 的github地址:
https://github.com/noamraph/tqdm
""" from requests import post
from tqdm import trange
from os import system
from time import sleep system("title 给所有的翻译刷段落积分~")
system("date /t&time /t&echo 积分刷起来~~~") print()
#tqdm是一个字符界面的进度条库
#安装命令pip install tqdm httphead={'Accept':'*/*',
'Origin':'http://www.oschina.net',
'X-Requested-With':'XMLHttpRequest',
'User-Agent':'Safari/537.36',
'DNT':'1',
'Referer':'http://www.oschina.net/translate/use-open-source-to-hone-your-programming-skills',
'Accept-Encoding':'gzip, deflate',
'Accept-Language':'zh-CN,zh;q=0.8,en;q=0.6',
'Content-Type':'application/x-www-form-urlencoded',
} cookie={'aliyungf_tc':'AQAAAPQVanIYog4AcqTY3miEpBuE23as',
'oscid':'E6bU16Ju1HvE6Yzbnu8glj%2F9WLxOYWRWYxXAtsj0Aej07gXXkM40x8fUrYQQC%2BjMrW1%2FQHYHaASCi3mDoeDQrJ%2Bp%2B5Osd1yhR737Ok7o%2BpTQTh4UQ6bITg%3D%3D', }#把cookie的内容改为你自己的 url='http://www.oschina.net/action/translate/vote_block' for r in trange(48700,1,-1):
try:
post(url,headers=httphead,data="id=%s&user=96078" %r,cookies=cookie)
#data内容为"id=段落ID&user=你的用户ID"
sleep(0.1)#如果不加上延时,会因为发包速度过快而无法访问。
except:
print()
print("异常错误~~~")
sleep(0.6) print()
system("date /t&time /t&echo 完成&pause")

代码改一下变成可以给所有的博客投票,

以下python代码是给所有博文点赞(投票):

"""
2016年5月24日 23:31:59 codegay 进度条库tqdm 的github地址:
https://github.com/noamraph/tqdm
""" from requests import post
from tqdm import trange
from os import system
from time import sleep system("title 给所有的博文刷赞~")
system("echo %date%--%time%&echo 积分刷起来~~~") print()
#tqdm是一个字符界面的进度条库
#安装命令pip install tqdm httphead={'Accept':'*/*',
'Origin':'http://my.oschina.net',
'X-Requested-With':'XMLHttpRequest',
'User-Agent':'Safari/537.36',
'DNT':'1',
'Referer':'http://my.oschina.net/u/186074/blog/680717',
'Accept-Encoding':'gzip, deflate',
'Accept-Language':'zh-CN,zh;q=0.8,en;q=0.6',
'Content-Type':'application/x-www-form-urlencoded',
} cookie={'aliyungf_tc':'AQAAALDYyTFLZwwAcqTY3pZyAZSxJNIk',
'oscid':'nVDZrYAPMi%2FR2DZLfIcwbadLUjBb%2BWuZNxhgCRaV59KRNuCVjUrMHg9OtGoiahQwwRTnT13C%2BF4Vu31QIkTRPvcpcBKVm%2FG%2BQfTw6q3ZCz7zQa7OpgMaD%2BsIy9RU4DtH', }#把cookie的内容改为你自己的 url='http://my.oschina.net/action/blog/vote' for r in trange(681017,1,-1):
try:
post(url,headers=httphead,data="id=%s&user=2772660" %r,cookies=cookie)
#data内容为"id=段落ID&user=你的用户ID"
sleep(0.15)
except:
print()
print("异常错误~~~")
sleep(0.6) print()
system("echo %date%--%time%&&echo 完成&pause")

坑点:

1、如果开着fiddler,运行python程序的时候,会走fiddler的代理,发包速度会大降低,大约是几秒一个包.

2、python单进程发包速度大约是一秒10个左右(没有测试过,估计的),osc会检测访问频率,频率过高会显示一个错误页。所以有必要加sleep限制一下发包的速度。

3、我已经被红薯封号。所以,你们懂的,再慢点。

python3 reqeuests给OSC全站用户刷积分的更多相关文章

  1. Python爬虫入门教程 34-100 掘金网全站用户爬虫 scrapy

    爬前叨叨 已经编写了33篇爬虫文章了,如果你按着一个个的实现,你的爬虫技术已经入门,从今天开始慢慢的就要写一些有分析价值的数据了,今天我选了一个<掘金网>,我们去爬取一下他的全站用户数据. ...

  2. Python爬虫入门教程 35-100 知乎网全站用户爬虫 scrapy

    爬前叨叨 全站爬虫有时候做起来其实比较容易,因为规则相对容易建立起来,只需要做好反爬就可以了,今天咱们爬取知乎.继续使用scrapy当然对于这个小需求来说,使用scrapy确实用了牛刀,不过毕竟本博客 ...

  3. python3.5 jira网站实现用户的批量插入

    工作中,经常要给多个用户创建账号,为了减少工作量,写了个自动化脚本来帮助我批量创建用户 代码如下: """自动创建Jira的学生账号""" ...

  4. python3 获取自建gitlab用户提交信息

    #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2019-12-03 14:20 # @Author : Anthony # @Emai ...

  5. 使用SignalR 提高B2C商城用户体验1

    vs2010 使用SignalR 提高B2C商城用户体验(一) 1.需求简介,做为新时代的b2c商城,没有即时通讯,怎么提供用户粘稠度,怎么增加销量,用户购物的第一习惯就是咨询,即时通讯,应运而生.这 ...

  6. vs2010 使用SignalR 提高B2C商城用户体验(一)

    vs2010 使用SignalR 提高B2C商城用户体验(一) 1.需求简介,做为新时代的b2c商城,没有即时通讯,怎么提供用户粘稠度,怎么增加销量,用户购物的第一习惯就是咨询,即时通讯,应运而生.这 ...

  7. Python3基础1

    Python介绍及特点 发展史 Python 2 or 3? 安装Python3 Hello World程序 变量 用户输入 模块初识 .pyc是个什么? 数据类型初识 数据运算 表达式if ...e ...

  8. SLAM+语音机器人DIY系列:(八)高阶拓展——2.centos7下部署Django(nginx+uwsgi+django+python3)

    0.安装步骤预览(1)系统默认自带python2.x,所以需要先安装python3.x(2)python2对应pip,python3对应pip3,用源码安装python3后pip3也自动安装了(3)用 ...

  9. 关于Python2 与 Python3 的区别

    Python是一门动态解释性的强类型定义语言. 1.Python2 : ①.臃肿,源代码的重复量很多.   ②.语法不清晰,掺杂着C,php,Java的一些陋习. Python3 : 几乎是重构后的源 ...

随机推荐

  1. :first-child 类似的 :first 匹配第一个元素,但是:first-child选择器可以匹配多个:即为每个父级元素匹配第一个子元素。这相当于:nth-child(1)

    描述: 在每个 ul 中查找第一个 li HTML 代码: <ul> <li>John</li> <li>Karl</li> <li& ...

  2. 欲实施CRM软件,必须先懂什么是CRM软件

    CRM是Customer Relationship Management(客户关系管理)的缩写,它是利用信息科学技术,实现市场营销.销售.服务等活动自动化,使企业能更高效地为客户提供满意.周到的服务, ...

  3. pyenv ipython jupyter

    pyenv pyenv  依赖安装 yum -y install git gcc make patch zlib-devel gdbm-devel openssl-devel sqlite-devel ...

  4. Android IntentService完全解析 当Service遇到Handler

    一 概述 大家都清楚,在Android的开发中,凡是遇到耗时的操作尽可能的会交给Service去做,比如我们上传多张图,上传的过程用户可能将应用置于后台,然后干别的去了,我们的Activity就很可能 ...

  5. Hibernate不能自动建数据表解决办法

    首先自己要注意自己的MYSQL版本,然后设置对应的方言 兼容性模式 <property name="hibernate.dialect">org.hibernate.d ...

  6. java 代理模式一: 静态代理

    代理模式: 代理模式的作用:为其他对象提供一种代理以控制对 特定对象  的访问. 某种情况下,一个客户不想或者直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用:通过代理对象引用. ...

  7. FreeMarker常用语法

    转自:http://www.cnblogs.com/linjiqin/p/3388298.html FreeMarker的插值有如下两种类型:1,通用插值${expr};2,数字格式化插值:#{exp ...

  8. 安装openJDK 8

    1.JDK 8 示例 (1.1)Debian, Ubuntu等使用下述安装命令: $ -jre ps : openjdk-8-jre 仅包含JRE,如果需要开发java程序,需要下载openjdk-8 ...

  9. 《BI项目笔记》数据源视图设置

    目的数据源视图是物理源数据库和分析维度与多维数据集之间的逻辑数据模型.在创建数据源视图时,需要在源数据库中指定包含创建维度和多维数据集所需要的数据表格和视图.BIDS与数据库连接,读取表格和视图定义, ...

  10. Linux shell中单引号,双引号及不加引号的简单区别

    简要总结: 单引号: 可以说是所见即所得:即将单引号内的内容原样输出,或者描述为单引号里面看见的是什么就会输出什么. 双引号: 把双引号内的内容输出出来:如果内容中有命令,变量等,会先把变量,命令解析 ...