日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

发帖机python_如何用python写一个自动顶帖机?

發布時間:2024/1/1 python 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 发帖机python_如何用python写一个自动顶帖机? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

周末去了好朋友家玩,繼上次我幫他修好電腦(插拔內存條+用橡皮擦擦金手指)后。

又問我說,小x啊,你是搞計算機的,能不能幫我寫個自動頂帖(回復)的機器啊?

我的好朋友現在除了用兩套房子收租外,覺得待在家里太無聊,現在在做網站運營。

現在他作為一個論壇版主,每天要冒充水軍回復固定的貼數。。。

我思考了一下,自動頂帖應該是自動發送HTTP協議的POST包吧。

如果是HTTPS那就比較麻煩了,他給我看了下網站 http://club.xxx.com。

嗯,HTTP的,是個老論壇,有希望短時間解決。

先打開百度,搜索下域名映射IP,IP是49.x.x.x,先記下來了。

然后我說你等會,我下載幾個東西試試看,然后我下載了:Python3

WireShark

Notepad++

第一步先登陸他的賬號,然后進入發帖頁面,打開WireShark監聽eth0,設置過濾表達式:

http && ip.addr == 49.x.x.x

回復了一個帖子之后,看下WireShark顯示的結果,果然有一個POST包。

Post包到達的URL是以php為后綴的,PHP大法好!

先看下headers,數據格式是urlencode,果然是一個古老的論壇。

完整headers如下

headers = {

'Host': 'club.xxx.com',

'Cache-Control': 'max-age=0',

'Origin': 'http://club.xxx.com',

'Upgrade-Insecure-Requests': '1',

'Content-Type': 'application/x-www-form-urlencoded',

'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.117 Safari/537.36',

'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',

'Referer': 'http://club.xxx.com/xxx.html',

'Accept-Encoding': 'gzip, deflate',

'Accept-Language': 'zh-CN,zh;q=0.9',

'Cookie': r'xxxxxxxxxxx'

}

完整的body經過組織后如下

message=內容&posttime=時間戳&formhash=XXX&其他參數=...

第二步,構造相似的HTTP包,把headers內容復制出來后,打開notepad++開始寫python。

import time

import urllib

from urllib import parse

from urllib import request

headers = {

'Host': 'club.xxx.com',

'Cache-Control': 'max-age=0',

'Origin': 'http://club.xxx.com',

'Upgrade-Insecure-Requests': '1',

'Content-Type': 'application/x-www-form-urlencoded',

'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.117 Safari/537.36',

'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',

'Referer': 'http://club.xxx.com/xxx.html',

'Accept-Encoding': 'gzip, deflate',

'Accept-Language': 'zh-CN,zh;q=0.9',

'Cookie': #保密#,

'其他沒用的參數': #沒用#

}

t = time.time()

url = r'http://49.x.x.x/forum.php?action=replay&.....'

data = r'message=test&posttime='+str(t)+r'&formhash=xxx'

req = urllib.request.Request(url=url, headers=headers, data=data.encode(encoding='UTF8'))

response = urllib.request.urlopen(req)

print(response.read())

就是模擬下瀏覽器發送Post請求,然后打印下Response看看服務器響應什么數據。

第一次發送,Response接到的是一個XML數據,還好心提示我發送數據類型有誤。

然后我看了下,原來是忘記encode了,然后嘗試進行第二次發送。

Response接到的是一串亂碼,打開網頁看下,居然直接成功發送了。。

接下來給好朋友定制了一個自動頂帖器,首先查下Python的GUI框架。

好的,自帶tkinter,直接用它了。

import tkinter as tk

...

然后我設置了一個文本框(帖子URL),一個文本框(發送間隔:x秒))

一個文件(每行不同的水軍內容),一個按鈕(發送)。

然后寫完測試成功,現在我的好朋友上班點點鼠標就行了。。。。。

然后請我吃了頓好的,美滋滋。

總結

以上是生活随笔為你收集整理的发帖机python_如何用python写一个自动顶帖机?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。