本帖最后由 yangcongs 于 2019-8-8 08:06 编辑
背景
因为工作需要,经常两个办公室跑,两个办公室离得还有点远
下了班还要两头跑着关电脑,感觉很麻烦
所以想找一个远程关机的小程序
论坛搜索出了很多大神的作品
比如:
夕风远程关机工具V1.1 , 可实现远程关机、定时关机、取消关机 (基于有道云)https://www.52pojie.cn/thread-994803-1-1.html
通过网易云歌单 远程关机(基于网易云)https://www.52pojie.cn/thread-853364-1-1.html
远程关机工具--ReShutDown--【VB源码】(基于贴吧)https://www.52pojie.cn/thread-447688-1-1.html
等等
但是跟我预期的有点差别
有道云和网易云我平时用的不多,为了远程关机再去多用一个软件什么的觉得有点麻烦了
至于基于贴吧的,首先要有一个自己的贴吧,然后我觉得楼主自己都被坑了,一不小心被别人关机,很心塞,
然后就想着干脆自己写一个好了,刚好自己知道一点点VB,于是本作品就诞生了
过程
因为我平时TIM用的比较多,TIM上又内置的有腾讯文档,所以本程序是基于腾讯文档制作的
本来看到@yswqq2008 开源了自己的程序,有一点点小激动,想着改一下网站什么的就好了
但是结果啪啪啪打脸,大佬的软件是通过读取网页源码来找到指令的
不过这些个云文档的网页源码里并没有加载出文档内容,他们好像是二次加载(这么描述大佬应该懂我的意思吧)出来的
由于我不懂怎么去爬数据,所以直接获取网页源码并不能获取到指令
@fantastic 和 @xiyuboy 两位大佬应该是会的,但是我请教@fantastic并没有收到回复
郁闷了好几天,灵光一闪,何不利用WebBrowser控件把网页加载进form
然后网页到了自己的地盘不是想怎么盘怎么盘
下面是本程序获取远端指令的代码:
[Visual Basic] 纯文本查看 复制代码 If (WebBrowser1.Document IsNot Nothing) Then
Dim Elems As HtmlElementCollection
Dim WebOC As WebBrowser = WebBrowser1
Elems = WebOC.Document.GetElementsByTagName("div") '取出源码中所有div
For Each elem As HtmlElement In Elems
Dim NameStr As String = elem.GetAttribute("id") '取出div中所有id
If ((NameStr IsNot Nothing) And (NameStr.Length <> 0)) Then
Dim leftString = Mid(NameStr, 1, 10) '取id前面10位数
If leftString.ToLower().Equals("magicdomid") Then
Dim ContentStr = WebOC.Document.GetElementById(NameStr).InnerText '读取当前指令
If ContentStr <> "" Then
MessageBox.Show("当前远端指令为:" + ContentStr)
End If
End If
End If
Next
End If
下面是以上代码中所需网页元素的查找示意图:
本程序中需要的id“magicdomid2”每次修改文本内容后,数字后缀都会动态改变,刷新网页又会恢复成“magicdomid2”
所以我取出所有的id为“magicdomid”的文本内容加以对比,然后筛选出自己需要的文本
我觉得这个代码是万金油,可以抓取不同网站二次加载的数据,
打开你需要抓取数据的网页,按F12查看源码,根据需要按以下规则改写代码,就可以抓取该网页的对应内容了
先通过WebOC.Document.GetElementsByTagName("头文件") 筛选出源码中所有拥有相同头文件(大概是这个名字吧,就是代码前面的紫色文本)的代码
然后使用GetAttribute("id")取出该“id”等号后的内容(此处的“id”可以是所有等号前的橙色文本)
如果需要取出该“id”下的文本内容就使用WebOC.Document.GetElementById(NameStr).InnerText(此处的“id”必须是如图中该文本的“id”)
结果
下面贴一下我简陋的界面:
其中:
“监控网址”就是你作为远程控制的文档分享链接
“监控时间间隔“是每隔多久检测一次文档内指令
“预设指令就是文档中你设置的用来关机的指令
由于我只需要关机这一个功能,所以暂时只写了关机指令,
如有需要其他功能的,请拿去自行添加
排版略扎眼,请大佬莫怪
程序连接:http://t.cn/AiYqo63J
解压后打开exe文件,输入腾讯文档分享链接即可使用
下面直接上源码,各位大神别嫌弃:http://t.cn/AiYbgxti
如需转载,请注明出处!!!
如有违规,请大佬告知!!! |