我不知道如何最好地提出这个问题,因为这可能是一个多方面的问题,需要不同的攻击途径,而我对解决方案的先入之见是基本的输入-功能-输出场景。可以说,在脚本宏和其他计算机自动化任务方面,我是一个菜鸟,我想这可能是一个好的起点。我正在寻找一个有限制的答案,我想知道,但不要太多。
具体来说,这是我的问题;
(问题 1)我希望我的计算机自动从网站复制随机生成的文本并将其作为列表粘贴到简单的文本文档中。该网站是“随机词机”http://randomwordmachine.com/我想将随机生成的英文文本复制为列表。
我更喜欢列表形式,而不是行形式,我宁愿不编号。我最终会在电子表格中按字母顺序对列表进行排序。
限制;
我正在运行 Windows 7。我安装了 LibreOffice 4.2、MS Office 2003、AutoHotkey v1.1.14.03、Notepad++ 和 MS Visual Studio 2013,以便使用。我正在寻找宏或脚本,我更喜欢脚本(python、perl 或 php 是第二选择),我更喜欢标准基础库包。Windows PowerShell 怎么样?
一般来说,我的问题是这样的;
(问题 2)wascally web 是如何工作的?!难道我不应该能够“查看页面源代码”,并查看文本输出到哪里吗?或者使用 Wget 之类的东西并复制网站的功能?
答案1
自动识别在这种情况下可能会有用。您应该能够使用类似的东西ControlClick
来模拟单击页面上的“复制”按钮,等待一小段时间(例如 100 毫秒),然后使用它ClipGet
来获取剪贴板上的文本。然后您可以用它做任何您想做的事情(将它附加到文本文件可能是最简单的)。
答案2
使用 AutoHotkey 编写了一个小宏脚本。Autohotkey 附带的帮助文件足以解决所有这些问题,尤其是入门教程。这是我编写的宏脚本;
clipboard = ; Start off empty to allow ClipWait to detect when the text has arrived
Run C:\Users\user303696\Desktop\WrdGenerator\wordGenerator.swf, , max ; opens/runs file with default program
Sleep, 4500 ; amount of time to wait (exp. 4.5 seconds) before executing the next command
loop, 1 { ; number of times to loop
Click 833, 405 ; performs a simulated mouse click at x,y postion of mouse. Mouse click action generates a random string of text.
Click 841, 475 ; performs a simulated mouse click at x,y postion of mouse. Mouse click action copies above text to clipboard.
FileAppend %clipboard%`r`n, C:\Users\user303696\Desktop\WrdGenerator\wordGenerator.swf.txt ; Appends/adds contents of clipboard to a text file, as a list.
}
感谢“benshepherd”和“Bradley Forney”。
答案3
您很可能需要使用网页抓取 + OCR 等技术来处理此问题。该页面采用 Flash,因此您在源代码中看不到太多内容。如果您不熟悉 Flash,可以使用有点儿就像一个视频文件,你可以与之交互,因为它是一个嵌入文件,而不是用纯编码完成的。话虽如此,但实现这一点还是有点棘手。
以下网站或许能有所帮助:
- http://www.propublica.org/nerds/item/reading-flash-data
- http://www.intelligentpositioning.com/blog/2009/06/how-does-google-read-flash/
- http://webscraping.com/blog/Scraping-Flash-based-websites/
您可能需要解释一下为什么要获取这些信息,因为这里的人们可能有一些更好的想法来帮助您实现您的目标。