Ruby 如何使用nokogiri从Imgur中抓取图像和标题

Ruby 如何使用nokogiri从Imgur中抓取图像和标题,ruby,web-scraping,nokogiri,imgur,Ruby,Web Scraping,Nokogiri,Imgur,我正试着用Nokogiri刮取照片和标题 这是一个小项目,我之前已经使用Nokogiri进行了刮取,效果非常好 require 'rest-client' require 'nokogiri' page = RestClient.get('https://imgur.com/t/memes') doc = Nokogiri::HTML.parse(page) posts = doc.css('.Post-item') 我需要的css类名为“.Post-item”,我也尝试过使用doc.sea

我正试着用Nokogiri刮取照片和标题

这是一个小项目,我之前已经使用Nokogiri进行了刮取,效果非常好

require 'rest-client'
require 'nokogiri'

page = RestClient.get('https://imgur.com/t/memes')
doc = Nokogiri::HTML.parse(page)
posts = doc.css('.Post-item')

我需要的css类名为“.Post-item”,我也尝试过使用doc.search,用“Post-item”代替“.Post-item”,我也尝试过该页面的其他css类,所有这些类都返回我[],它应该返回该类上的Nokogiri解析以及该页面上的所有帖子。

当您尝试在url处刮取页面时,您会发现大部分是空白页面:因为网站在客户端使用javascript呈现数据


你会想使用像gem这样的东西,它允许你在尝试解析网页之前,等待网页及其所有脚本完全加载,这意味着您将在解析文档时找到您想要的数据。

在url处尝试刮取页面时,您将发现大部分是空白页面:因为网站在客户端使用javascript呈现数据


您需要使用gem之类的工具,它允许您在尝试解析网页之前等待网页及其所有脚本完全加载,这意味着您将在解析文档时找到所需的数据。

您无法查看项目的原因是,imgur在该URL上提供,一个基本空白的页面,然后使用javascript加载内容。如果您在脚本中执行
将doc.to_html
放入,您可以看到它提供的html页面。您需要想出一种方法来获取图像和标题,方法是遵循HTML中链接的一个JS文件/脚本,或者使用另一个将首先呈现页面的工具(例如,headless chrome)。您最好使用imgur API来完成此任务,而不是删除内容。谢谢!正如我所担心的那样,你看不到这些项目的原因是因为imgur在该URL上提供了一个基本空白的页面,然后使用javascript加载内容。如果您在脚本中执行
将doc.to_html
放入,您可以看到它提供的html页面。您需要想出一种方法来获取图像和标题,方法是遵循HTML中链接的一个JS文件/脚本,或者使用另一个将首先呈现页面的工具(例如,headless chrome)。您最好使用imgur API来完成此任务,而不是删除内容。谢谢!正如我所担心的那样