使用ruby,nokogiri自动滚动页面处理

时间:2017-11-03 05:02:28

标签: ruby-on-rails ruby nokogiri

使用xpathnokogiri抓取页面时,我遇到了自动滚动的一些问题 大多数自动滚动通常都有一些分页,所以我可以通过make输入来处理。

但是,如果像此页面一样,如果autoscroll作为js函数存在,我该如何尝试抓取?

1 个答案:

答案 0 :(得分:1)

通常在使用autoscroll时,js函数会向服务器执行AJAX请求以获取新项目。因此,您只需打开浏览器检查器并检查正在进行滚动页面的XHR请求。

例如,这个juswatch执行请求

    https://apis.justwatch.com/content/titles/en_US/popular?body=%7B%22age_certifications%22:null,%22content_types%22:null,%22genres%22:null,%22languages%22:null,%22max_price%22:null,%22min_price%22:null,%22monetization_types%22:%5B%22flatrate%22,%22rent%22,%22buy%22,%22ads%22,%22free%22%5D,%22page%22:2,%22page_size%22:30,%22presentation_types%22:null,%22providers%22:null,%22release_year_from%22:null,%22release_year_until%22:null,%22scoring_filter_types%22:null%7D

所以要解析整个网站,你根本不需要nokogiri。只需执行上面的请求,每次都替换page参数并解析返回的json。