ajax抓取网页内容(HTML文档加载过程中的常见问题,你知道吗?)

优采云 发布时间: 2022-01-03 16:21

  ajax抓取网页内容(HTML文档加载过程中的常见问题,你知道吗?)

  如何抓取AJAX网站的内容?这是一个热点问题,也是一个棘手的问题。基于Javascript技术的AJAX网站的出现改变了原来互联网内容的展示方式。过去,从浏览器的角度来看,网站要显示的内容是HTML页面文档,无论是静态网页还是服务器动态网页(例如PHP、JSP、ASP等)。 ) 都是下载到浏览器后的 HTML 文件。 网站 内容抓取器的搜索引擎或网络爬虫只需要处理文本内容(HTML 文档是文本文档)。因此,正则表达式在以前的 网站 内容抓取器中被广泛使用。但是,使用 AJAX 网站 内容几乎不可能实现正则表达式。这和AJAX网站的内容显示原理是相关的。 AJAX网站页面除了正常的HTML文档内容外,还有Javascript代码或者Javascript代码库地址可以下载。在加载 HTML 文档期间或之后调用 Javascript(通常受加载事件限制)函数或代码段。这些代码段修改了 HTML 文档的 DOM 结构,而 DOM 结构是 HTML 文档在浏览器窗口中显示的基础。这样,页面内容是动态生成的。这些内容可以从服务器异步计算或获取。例如使用 XMLHt pRequest 对象从远程服务器获取需要显示的内容。

  网站 内容捕捉软件工具包 Met aSeeker 直接分析 DOM 结构,使用 XPat h 表达式定位捕捉到的内容,并使用 XSLT 转换捕捉结果,所以本质上,它可以更容易解决AJAX网站的内容爬取问题。然而,Javascript 是一种强大的编程语言。实现业务逻辑的能力远高于HTML语言。动态生成网站 内容的方式是千变万化的。因此,Met aSeeker 只能逐步支持 AJAX网站 内容。对于爬虫,每个版本都会增加新的特性,解决新发现的AJAX实现方式带来的爬虫问题。从V1.版本开始,MetaSeeker可以抓取HTML页面加载过程中AJAX产生的动态内容,例如抓取Google Adsence广告或搜索结果进行商业智能分析。此版本增强了捕获 AJAX 网站 内容的能力。如果这些动态内容是在加载 HTML 页面后生成的,则必须使用本节介绍的方法进行捕获。此方法也适用于使用 Javascript 函数进行抓取(例如设置 Timeout 或设置 nterval) 定期刷新网页内容的页面。手动刷新 DOM Met aSt udio 左栏 DOM 树是在 HTML 文档加载后自动生成的,如果 HTML 文档中的 Javascript 代码是在 HTML 之后加载并且修改了 DOM 内容,很可能不是反映在Met aSt udio的DOM树中,此时如果使用反向选择功能定位页面内容,会弹出提示框:Cannot find henode。

  这需要手动刷新 DOM 树以反映最新更改。点击菜单项H3定义网站内容抓取规则< h3>无论是数据抓取规则还是超链接抓取规则,都与普通网页的定义方法一致,见前一章。但是,在上传信息结构和抓取规则之前,您需要单击菜单项。这是一个检查类型的菜单。不要检查它。意思是为AJAX网页定义了信息结构,网页的内容只有在HTML文档加载之后。修改显示,因此不能采用正常的操作方法:“加载信息结构,立即应用信息结构分析网页内容”。操作的变化在加载信息结构进行编辑时体现。信息结构加载方法 如果需要编辑之前定义的信息结构,则需要在Schema List工作台上进行加载操作。如果遇到上一节描述的信息结构,网站内容捕获规则定义工具MetaSt udio会弹出一个对话框:信息结构加载和分析延迟,请手动选择菜单项“后续分析”加载并分析,提示用户:虽然信息结构已经下载,但是还没有用于分析目标页面,需要手动点击菜单项,这是为了让MetaSt udio等待Javascript修改DOM,操作者观察内嵌的MetaSt udio 浏览器在看到所有需要的内容之前不点击这个菜单,完成DOM的刷新和信息结构的应用分析。

  网站 内容爬虫DataScraper的操作 DataScraper的操作没有变化。实际上,Dat aScraper 工作流使用专用处理器 LoadDelayedPage 来获取此类内容。另外,由于这种网站的内容无法根据load事件判断是否可以启动或终止爬取过程,所以需要不断检测信息结构是否符合目标的结构网页直到超时,因为定义网站内容抓取规则时,至少为一个信息属性设置关键特性。应用案例 有一个主题demo_qun。 _fuller 在服务器上。可以使用MetaSt audio加载信息结构,体验AJAX网站内容的抓取。此案例的详细描述请参考论坛讨论。通过打开和关闭定期刷新网页的 DOM 分析。默认情况下,网站 内容捕获规则*敏*感*词*工具 Met aSt udio 左栏中的 DOM 结构会自动刷新。每当目标示例页面的内容发生变化时,Met aSt udio 的 DOM 结构也会自动刷新。如果正在为此示例页面定义信息结构,则自动刷新会影响定义操作。因此,在这种情况下,您需要关闭 DOM 自动刷新并单击菜单项 DOM。这是一个检查菜单。 , 不勾选关闭自动刷新。作者:

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线