由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Detective版 - 自动封人机VB代码
进入Detective版参与讨论
1 (共1页)
d******a
发帖数: 32122
1
Visual Studio 里新建一个VB的Windows Form Application
在form里加一个Web Browser 控件,和一个button
这两个控件都使用了缺省名字
在D盘保存封禁ID的名单,每个ID一行
假设文件取名IDs.txt
运行程序,登录完成后,点击那个唯一的button
代码
(需要把WebBrowser1.Navigate("http://www.mitbbs.com/mitbbs_add_deny_user.php?board=Detective&op_flag=0") 这一行里的Detective改成Military)
Imports VB = Microsoft.VisualBasic
Public Class Form1
Dim list_id As ArrayList = New ArrayList()
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.
Load
WebBrowser1.ScriptErrorsSuppressed = True
WebBrowser1.Navigate("www.mitbbs.com")
Dim FILE_NAME As String = "d:IDs.txt"
If System.IO.File.Exists(FILE_NAME) = True Then
Dim objReader As New System.IO.StreamReader(FILE_NAME)
Do While objReader.Peek() <> -1
list_id.Add(Trim(objReader.ReadLine()))
Loop
Else
MessageBox.Show("File Does Not Exist")
End If
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles
Button1.Click
Dim id As String
Dim iHTMLCol As HtmlElementCollection
Dim iHTMLEle As HtmlElement
For Each id In list_id
WebBrowser1.Navigate("http://www.mitbbs.com/mitbbs_add_deny_user.php?board=Detective&op_flag=0")
Do While WebBrowser1.ReadyState <> WebBrowserReadyState.Complete
Application.DoEvents()
Loop
iHTMLCol = WebBrowser1.Document.GetElementsByTagName("input")
For Each iHTMLEle In iHTMLCol
Debug.WriteLine(iHTMLEle.Name)
Select Case iHTMLEle.Name
Case "userid"
iHTMLEle.SetAttribute("value", id)
Case "dt"
iHTMLEle.SetAttribute("value", "14")
Case "exp"
iHTMLEle.SetAttribute("value", "贴图机并/或威胁版主")

End Select
Next
For Each curElement As HtmlElement In iHTMLCol
If curElement.GetAttribute("type").Equals("submit") Then
curElement.InvokeMember("click")
End If
Next
Dim start As Single
start = VB.Timer()
Do While VB.Timer() < start + 0.5
System.Windows.Forms.Application.DoEvents()
Loop
Do While WebBrowser1.ReadyState <> WebBrowserReadyState.Complete
Application.DoEvents()
Loop
Next
MsgBox("All Done")
End Sub
End Class
a******g
发帖数: 13519
2
封禁ID的名单怎么搞?手动添加?
有没有识别马甲的程序?
d******a
发帖数: 32122
3
悉尼客提供的
http://www.mitbbs.com/article_t/sysop/31359387.html
当然,自动根据图挑出来也不是很难
每10分钟扫描最新的五十篇贴子,从中找那几个图link

【在 a******g 的大作中提到】
: 封禁ID的名单怎么搞?手动添加?
: 有没有识别马甲的程序?

c***c
发帖数: 21374
4
我打算用https://anti-captcha.com的服务,很便宜,然后自动登录,每天封人一遍。
关键是我没太多时间做这个事情。这个事情如果要做,那么还是要花一些时间的。比如
如果识别失败了得通知我,那还得要一个secure smtp的api。然后还要删帖等等,虽然
每个都不难,但是加起来都是时间。这年头做没钱的编程没动力。
你看,工作流程如下
1. 自动登录
a)登录成功 ->2
b)登录失败 -> 发信通知,手动输入图片识别码
2. 封人
- 不需要考虑是否已经被封,反正每天封一遍
- 新被封的id加入到封人名单
3. 扫描帖子
- RSS功能已经作废,需要自己去看怎么扫描最近的帖子
4. 检测用户名
- 用户名属于随机注册的(可以借用判断password强弱的库,随机注册的用户名属于
password strength高的) -> alert
5. 检查帖子的贴图数量
- 超过x个图的 -> 2 + 删帖
- 图片URL在blacklist里的 -> 2 + 删帖
写+调试+测试+改进,这是稳稳妥妥的十几个小时的工作量。如果我去bill client,我
会bill至少3天,不多于5天的工作量。
1 (共1页)
进入Detective版参与讨论