当用户手动导航网页时,是否有办法使用某些库或方法实时抓取网页?我所知道的大多数刮刀如python mechanize创建了一个模拟浏览器的浏览器对象 - 当然这不是我想要的,因为如果我打开浏览器,它将与机械化创建的不同。 / p>
如果没有解决方案,我的问题是我想从HTML5游戏中抓取元素来制作各种智能代理。我不会详细介绍,但我怀疑其他人是否会在将来尝试做同样的事情(或任何实时用户的实时搜索),这对他们来说也是有用的。
提前致谢!
答案 0 :(得分:1)
根据您的用例,您可以设置SOCKS代理或其他形式的代理,并将其配置为记录所有流量,然后指示您的浏览器使用它。然后你会以某种方式刮掉那个日志。
同样,如果您可以控制路由器,则可以在那里配置捕获和记录,例如使用tcpdump
。当然,这不会解密加密流量。
如果您只使用一个浏览器,可能有一种方法可以指示它通过自定义浏览器插件在每个操作上执行某些操作,但我不得不猜测您会遇到很多安全模型问题
HTML5游戏的问题在于,通常大多数“导航”都是使用大量的Javascript完成的。 Javascript通常做很多事 - 操纵DOM,触发对新内容的请求以适应DOM等等。
因此,您可能最好选择可以“驱动”键盘和鼠标事件,截取屏幕截图,甚至可能拍摄当前页面DOM的快照并查询它的操作系统级或浏览器级脚本服务。
您可以为此调查浏览器自动化和测试框架,例如Selenium。
答案 1 :(得分:0)
我不确定这是否适用于您的情况但是可以使用PyQt创建一个简单的Web浏览器,它可以与HTML5一起使用,从而可以捕获实时用户播放时发生的事情。游戏。
我已经将PyQt用于一个简单的浏览器窗口(用于完全不同的应用程序),它似乎可以处理简单的示例HTML5游戏。如何深入研究游戏内容的细节对于PyQt专家来说是一个问题,而不是我。