python3 reqeuests给OSC全站用户刷积分
admin
2023-07-30 20:47:11
0

严格来讲是给在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、我已经被红薯封号。所以,你们懂的,再慢点。

相关内容

热门资讯

Mobi、epub格式电子书如... 在wps里全局设置里有一个文件关联,打开,勾选电子书文件选项就可以了。
500 行 Python 代码... 语法分析器描述了一个句子的语法结构,用来帮助其他的应用进行推理。自然语言引入了很多意外的歧义,以我们...
定时清理删除C:\Progra... C:\Program Files (x86)下面很多scoped_dir开头的文件夹 写个批处理 定...
scoped_dir32_70... 一台虚拟机C盘总是莫名奇妙的空间用完,导致很多软件没法再运行。经过仔细检查发现是C:\Program...
65536是2的几次方 计算2... 65536是2的16次方:65536=2⁶ 65536是256的2次方:65536=256 6553...
小程序支付时提示:appid和... [Q]小程序支付时提示:appid和mch_id不匹配 [A]小程序和微信支付没有进行关联,访问“小...
pycparser 是一个用... `pycparser` 是一个用 Python 编写的 C 语言解析器。它可以用来解析 C 代码并构...
微信小程序使用slider实现... 众所周知哈,微信小程序里面的音频播放是没有进度条的,但最近有个项目呢,客户要求音频要有进度条控制,所...
Apache Doris 2.... 亲爱的社区小伙伴们,我们很高兴地向大家宣布,Apache Doris 2.0.0 版本已于...
python清除字符串里非数字... 本文实例讲述了python清除字符串里非数字字符的方法。分享给大家供大家参考。具体如下: impor...