【发布时间】:2012-09-05 16:48:57
【问题描述】:
我正在测试一个主要基于 ajax 并使用 jsp 提供的 Web 应用程序。一切都是在应用程序端动态创建/分配的。我正在尝试创建某种必须执行以下操作的爬虫/爬虫:
- “点击”给定网页上的每个可用按钮、下拉菜单等
- 对于每个请求,记录客户端/服务器交互是什么
- 一旦单个网页的所有按钮都被按下(哈?), 从 #2 的第一条记录开始的广度优先搜索
- 继续,直到所有记录都交互过一次。
我可以很容易地使用 python 来点击,虽然 python 不是必需品(我知道 Java 有一些可能很容易工作的东西):
def click(x,y):
win32api.SetCursorPos((x,y))
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,x,y,0,0)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,x,y,0,0)
我查过fiddler等录音软件:http://www.fiddler2.com/fiddler2/
我不知道如何记录交互,但不改变屏幕。例如在A页面,按钮B移动到C页面,我想点击B,但留在A(这是一个过于简单的情况)
我完全理解广度优先搜索,尽管我不知道如何使用任何脚本/编程语言(来自 #1)加载网页。
那么,有谁知道如何记录交互(也许将它放在队列中以便于 BFS)?还有,有人知道如何从某些录音软件加载请求吗?
附带说明,完成所有这些工作所花费的时间并不重要,如果需要几个月,即使这样也没关系。
谢谢。
【问题讨论】:
标签: python ajax web-scraping web-crawler fiddler