ajax抓取网页内容(QQ群聊天网页是用AJAX/Javascript动态生成的?)
优采云 发布时间: 2022-01-05 23:10ajax抓取网页内容(QQ群聊天网页是用AJAX/Javascript动态生成的?)
QQ群聊网页使用AJAX/Javascript动态生成。无法通过抓取原创 HTML 页面获取聊天记录。聊天记录是在 HTML 网页加载后通过 AJAX/Javascript 代码动态生成的。MetaSeeker工具包在V4.1.1之前无法提取,但是V4.1.1版本已经改进,通过新增工作流处理器AJAX可以提取网页内容并将其结构化为 XML 获取结果文件。
由于AJAX动态页面的特殊性,使用网页内容提取规则生成工具MetaStudio的方法略有不同。定义QQ群聊天记录提取规则时,需要执行以下步骤
按照MetaStudio手册加载示例页面后,等待,观察MetaStudio的内嵌浏览器窗口,等待提取的QQ聊天记录显示出来,点击File->Refresh DOM菜单,可以动态生成AJAX/Javascript . 内容显示在 DOM 树中。否则,当您使用反向选择功能定位网页内容时,您会遇到错误信息:找不到节点。QQ群聊天记录的网页内容提取规则和超链接提取规则的定义方法与普通网页相同。在上传信息结构和提取聊天记录规则之前,需要勾选选项菜单配置->自动应用状态,不应该勾选以显示与正常页面的区别
使用MetaStudio加载和修改信息结构的操作方法也不同。由于没有勾选配置->自动应用,所以加载信息结构时不会自动应用信息结构来分析示例页面是否符合提取规则,而是提示用户“信息”执行结构加载和分析被延迟”,所以用户需要点击菜单File->Follow-up Analysis来完成网页DOM的刷新和信息结构的应用分析。
网页内容抓取工具DataScraper的操作没有变化,和普通页面的提取一样。但是DataScraper在内部做了改进,专门适应了AJAX动态生成的网页内容的特点,增加了新的工作流处理器。另外,无论是手动批量抓取还是周期性批量抓取,速度都一样快,比手动批量提取普通网页要快。这是因为他们采用了加速提取的增强功能。因此,定期批量提取的参数waitOnload 无关紧要。任何设置都将被忽略。因此,为了防止目标网站在质量提取过程中突然增加流动压力,需要设置延迟参数minIdle和maxIdle。