【问题标题】:X-Ray Paginate filter by textX-Ray Paginate 按文本过滤
【发布时间】:2017-07-03 12:37:10
【问题描述】:

我正在使用 X 射线来废弃带有分页的网页。这是一些 HTML

<td align="center" style="font-size: 11pt;">
  <div class="paginate" style="font-size: 11pt;">
    <span class="disabled">Previous</span>
    <span class="current">1</span>
    <a href="link2.html">2</a>
    <a href="link2.html">Next</a>
  </div>
</td>

我想通过Next 按钮报废。但是网页示例被它的类名刮掉了。

x('https://blog.ycombinator.com/', '.post', [{
  title: 'h1 a',
  link: '.article-title@href'
}])
  .paginate('.nav-previous a@href')

我想知道如何通过选择Next 按钮中的链接来进行分页?

提前致谢。

【问题讨论】:

  • 我会编写一个自定义解析器,它最适合您的需求。
  • @Lazyexpert 我想你是对的,我试图通过使用 X 射线来变得懒惰。但是好像不太适合。最初我使用请求+cheerio,但我也试图废弃子页面(总共4层)。按顺序刮 4 层速度很慢,你知道如何将其转换为并行请求吗?
  • 你可以使用 Promise.all,你可以使用 async.parallel 或者再次,基于回调定制解决方案:)

标签: node.js x-ray


【解决方案1】:

按文本过滤

.paginate('.paginate a:contains(Next)@href')

【讨论】:

    【解决方案2】:

    也许这可以帮助您在分页中编写此内容

    .paginate('.paginate > li.current + a > a@href')
    or
    .paginate('.paginate > li.current > a@href')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-30
      • 2021-11-25
      • 2016-12-07
      • 1970-01-01
      • 1970-01-01
      • 2017-01-06
      相关资源
      最近更新 更多