【办公类-120-01】20251016 UIBOT下载小说做成docx
我有想看的网络小说,终于完结了。部分网站也贴出了全文。
本来我是手机看的,但是手机这些网站,总是跳出一堆广告(带有huang\du\du)网站依靠广告生存,无可厚非,但是我看起来非常难受。
所以我想用UIBOT去网站上把文字下载下来,做成docx再看
https://www.lewen.org/txt/3158645.html
主要提取标题、正文段落(这个页面的都是一段段落,可以批量抓取)
以上是第一页,有的页面就不是这个页面了
所以我做了两个可能,两种页面抓取
Dim sRet,objWord,标题,文字,arrayData,temp,bRet,文字翻页
objWord = Word.Open('''C:\Users\jg2yXRZ\OneDrive\桌面\军校生\10.docx''',"","",true)
// For i = 0 To 1 step 1// 标题 = UiElement.GetValue(@ui"标题<h1>_第1章(第1页)1",{"bContinueOnError":false,"iDelayAfter":300,"iDelayBefore":200})// Word.Write(objWord,标题)
// TracePrint(标题)// Word.Write(objWord,"\n")
// 段落 = UiElement.DataScrap({"wnd":[{"cls":"Chrome_WidgetWin_1","title":"*","app":"chrome"},{"cls":"Chrome_RenderWidgetHostHWND","title":"Chrome Legacy Window"}],"html":[{"tag":"HTML"}]},{"ExtractTable":0,"Columns":[{"selecors":[{"tag":"div","index":2,"className":"wp ov","value":"div:nth-child(2)","prefix":""},{"tag":"div","index":0,"className":"info_dv1 ov y","value":"div.info_dv1.ov.y","prefix":">"},{"tag":"p","value":"p","index":0,"prefix":">"}],"props":["text"]}]},{"objNextLinkElement":'',"iMaxNumberOfPage":5,"iMaxNumberOfResult":-1,"iDelayBetweenMS":1000,"bContinueOnError":False})
// Word.Write(objWord,段落)// TracePrint(文字)
// Mouse.Action(@ui"链接<a>","left","click",10000,{"bContinueOnError": false, "iDelayAfter": 300, "iDelayBefore": 200, "bSetForeground": true, "sCursorPosition": "Center", "iCursorOffsetX": 0, "iCursorOffsetY": 0, "sKeyModifiers": [],"sSimulate": "simulate", "bMoveSmoothly": false})
// Next
For i = 0 To 4000 step 1bRet = UiElement.Exists(@ui"链接<a>2",{"bContinueOnError":false,"iDelayAfter":300,"iDelayBefore":200})
TracePrint($PrevResult)
If bRet=true 标题 = UiElement.GetValue(@ui"标题<h1>_第156章(第1页)",{"bContinueOnError":false,"iDelayAfter":300,"iDelayBefore":200})
Word.Write(objWord,标题+"\n")
文本 = UiElement.GetValue(@ui"块级元素<div>_长生姐和莲心……一个连100年寿命都不放过。一个随随便便就给黎漾700年。两相对",{"bContinueOnError":false,"iDelayAfter":300,"iDelayBefore":200})
Word.Write(objWord,文本+'\n')
Mouse.Action(@ui"链接<a>1","left","click",10000,{"bContinueOnError": false, "iDelayAfter": 300, "iDelayBefore": 200, "bSetForeground": true, "sCursorPosition": "Center", "iCursorOffsetX": 0, "iCursorOffsetY": 0, "sKeyModifiers": [],"sSimulate": "simulate", "bMoveSmoothly": false})
Delay(3000)
End If
If bRet=false 标题 = UiElement.GetValue(@ui"标题<h2>_第88章(第1页)",{"bContinueOnError":false,"iDelayAfter":300,"iDelayBefore":200})
Word.Write(objWord,标题+"\n")文字翻页 = UiElement.DataScrap({"wnd":[{"cls":"Chrome_WidgetWin_1","title":"*","app":"chrome"},{"cls":"Chrome_RenderWidgetHostHWND","title":"Chrome Legacy Window"}],"html":[{"tag":"HTML"}]},{"ExtractTable":0,"Columns":[{"selecors":[{"tag":"div","index":2,"className":"wp ov","value":"div:nth-child(2)","prefix":""},{"tag":"div","index":0,"className":"info_dv1 ov y","value":"div.info_dv1.ov.y","prefix":">"},{"tag":"p","value":"p","index":0,"prefix":">"}],"props":["text"]}]},{"objNextLinkElement":'',"iMaxNumberOfPage":5,"iMaxNumberOfResult":-1,"iDelayBetweenMS":1000,"bContinueOnError":False})
For Each value In 文字翻页For Each v In valueTracePrint(v)Word.Write(objWord,v+'\n')
NextNext
Mouse.Action(@ui"链接<a>_下一章5","left","click",10000,{"bContinueOnError": false, "iDelayAfter": 300, "iDelayBefore": 200, "bSetForeground": true, "sCursorPosition": "Center", "iCursorOffsetX": 0, "iCursorOffsetY": 0, "sKeyModifiers": [],"sSimulate": "simulate", "bMoveSmoothly": false})
Delay(3000)
End IfNext
Word.Save(objWord)
Word.Quit()