【问题标题】:Acquiring table info with YQL XPath query on wikia在 wikia 上使用 YQL XPath 查询获取表信息
【发布时间】:2016-07-14 15:02:48
【问题描述】:

目标

warframe wikia 报废 HTML 表格。

背景

我正在尝试获取 warframe 中的一个表的信息,Mods List table。为了实现这个目标,我阅读了HTML-parser on Node.js 主题并得出结论,使用YQL 是我的最佳选择。

代码

通过使用 Google Chrome 开发工具和两个名为 CSS and XPath checker and XPath Helper 的 chrome 扩展,我能够使用以下 XPath 查询来确定我要查找的表的确切位置:

//*[@id="mw-content-text"]/div[33]/div/div[1]/table/tbody

现在,Chrome 说这是正确的路径,我使用的插件也建议这样做。

问题

问题是,当我使用 YQL 时,Json 中的结果与我所期望的完全不同。实际上,它与其他数据一起返回一个不同的表。

我很困惑为什么会这样。 wikia 是一个简单的 HTML 页面,几乎没有任何动态信息,所以我真的不明白为什么我会得到错误的结果。

可能是什么问题?

【问题讨论】:

    标签: html google-chrome xpath web-scraping yql


    【解决方案1】:

    不幸的是,YQL 不能与随着时间的推移加载的页面正常工作,wikia 就是这种情况。

    所以,即使 XPath 是正确的,当 Yahoo 发出第一个(也是唯一一个)请求时,它会收到一个不完整的 HTML,并且永远不会完成它。

    为了解决这个问题,我决定使用 npm-requestnpm-cheerio 包在我的 nodejs 服务器中本地解析 HTML。

    第一个包下载整页 HTML,第二个包解析它以获得我正在寻找的信息。

    一种有效的解决方案,无需依赖第三方工具,而是将所有工作转移到我的服务器。

    希望这对未来的人有所帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多