新浪微博内容自动删除

Posted smbx-ztbz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了新浪微博内容自动删除相关的知识,希望对你有一定的参考价值。

一、起因

新浪微博号被盗了,发现被发表了一大堆乱起八糟的东西,一条条删除太麻烦了,于是决定写个程序自动删除。原本是想通过屏幕截图,再利用opencv进行图像识别、自动定位的功能,不过后面发现直接模拟鼠标移动及鼠标单击就可以完成自动删除的功能了。偷下懒。

二、代码

用VS2015编译的

#include<iostream>
#include<conio.h>
#include<windows.h>
#include <fstream>
#include <string>

#define KEY_DOWN(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? 1:0) //必要的,我是背下来的 


int main(int argc, char** argv) {

    POINT point[3];
    std::ifstream fin("setup.txt");
    std::string str;
    int num = 0;
    while (!fin.eof()) {
        getline(fin, str);
        std::cout << str << std::endl;
        if (num % 2 == 0) {
            point[num / 2].x = atoi(str.c_str());
        }
        else {
            point[num / 2].y = atoi(str.c_str());
        }
        num++;
    }
    std::cout << "(" << point[0].x << ", " << point[0].y << ")" << std::endl;
    std::cout << "(" << point[1].x << ", " << point[1].y << ")" << std::endl;
    std::cout << "(" << point[2].x << ", " << point[2].y << ")" << std::endl;
    std::cout << "按S开始" << std::endl;
    std::cout << "按Q停止鼠标点击" << std::endl;
    
    int now = 0;
    while (1) {
        if (KEY_DOWN(Q)) {//VK_SPACE 是空格的虚拟键值 
            now = 0;
            Sleep(100);//你的手不会再一瞬间送开,所以要处理一下 
        }
        if (KEY_DOWN(S)) {
            now = 1;
            Sleep(100);
        }

        if (now == 1) {//模拟点击左键
            //POINT p;
            //GetCursorPos(&p);//获取鼠标坐标   
            SetCursorPos(point[0].x, point[0].y);//更改鼠标坐标
            mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
            Sleep(10);//要留给某些应用的反应时间 
            mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
            Sleep(1000);

            SetCursorPos(point[1].x, point[1].y);//更改鼠标坐标
            mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
            Sleep(10);//要留给某些应用的反应时间 
            mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
            Sleep(1000);

            SetCursorPos(point[2].x, point[2].y);//更改鼠标坐标
            mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
            Sleep(10);//要留给某些应用的反应时间 
            mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
            Sleep(1000);
        }
        Sleep(20);//点击间隔 单位是毫秒 
    }
    return 0;
}

三、编译好的软件包及效果

下载地址:链接:https://pan.baidu.com/s/18oUR8bwn_nBW2E8U9d5biA 密码:unp9

说明:可根据自己实际情况进行鼠标位置的调整,配置文件在安装目录的setup.txt文件下,共六个数字,一个数字一行,每两行为一个坐标。可以先借用mousexy来进行坐标查看。

以上是关于新浪微博内容自动删除的主要内容,如果未能解决你的问题,请参考以下文章

新浪微博客户端(55)-高亮显示微博内容中的昵称,话题,超链接

Python3获取新浪微博内容乱码问题

如何使用爬虫一键批量采集新浪微博内容

新浪微博客户端(58)-处理点击微博内容中的关键字

新浪微博客户端(56)-拼接微博内容中的昵称,超链接,表情图片

下载微博内容的图片