怎样抓取/提取QQ群聊天记录内容

QQ群空间中的群聊精华是否能够使用网页抓取和数据提取软件工具包MetaSeeker进行提取?

MetaSeeker V4.1.1版本可以提取

QQ群聊天网页是用AJAX/Javascript动态生成的,抓取原始的HTML页面无法获得聊天记录,聊天记录是在HTML网页加载完后由AJAX/Javascript代码动态生成,MetaSeeker工具包在V4.1.1以前不能提取,但是,V4.1.1版本进行了改进,通过新增加的工作流处理器,可以将AJAX网页内容提取下来并结构化成XML抓取结果文件。

由于AJAX动态页面的特殊性,网页内容提取规则生成工具MetaStudio的使用方法略有不同,定义QQ群聊天记录提取规则时,需要执行以下步骤

  1. 按照MetaStudio使用手册加载样本页面后,要等待,观察MetaStudio内嵌浏览器窗口,等待被提取的QQ聊天记录都显示后,点击文件->刷新DOM菜单,这样可以将AJAX/Javascript动态生成的新增内容显示在DOM树中。否则,使用反向选择功能定位网页内容时会遇到错误提示:Cannot find the node.
  2. 为QQ群聊天记录定义网页内容提取规则超链接提取规则的方法与普通网页的做法相同
  3. 上载信息结构和聊天记录提取规则之前,需要察看选项菜单配置->自动套用的状态,不应该勾选,以示与普通页面的区别

使用MetaStudio加载并修改信息结构的操作方法也不同,由于没有勾选配置->自动套用,此类信息结构加载时并没有自动套用信息结构以分析样本页面是否符合提取规则,而是提示用户“信息结构加载和分析延后执行”,所以用户需要点击菜单文件->后续分析,以完成网页DOM的刷新和信息结构的套用分析。

网页内容抓取工具DataScraper的操作没有变化,跟提取普通页面一样,但是,DataScraper内部进行了改进,专门适应AJAX动态生成网页内容的特点,增加了新的工作流处理器。另外,无论手工批量抓取还是周期性批量抓取速度都一样快,比普通网页的手工批量提取要快,这是因为都采用了加速提取的增强功能,所以,周期性批量提取的参数waitOnload无论怎样设置都被忽略。所以,为了防止大批量提取时给目标网站骤然增加流量压力,需要设置延迟参量minIdle和maxIdle,这两个参量只在周期性抓取情况下起作用。