草庐IT

Nokogiri

全部标签

ruby-on-rails - 用于检查网站是否具有搜索引擎友好 URL 的 Ruby 代码

我正在rails中开发一个应用程序,它需要检查输入的网站是否生成了搜索引擎友好的URL。我想到的一个解决方案是使用nokogiri来解析网站的HTML并在链接标记中查找查找URL并查看它们是否对搜索引擎友好。是否有任何其他方法可以做到这一点?任何帮助都会非常有用。 最佳答案 这里有两个问题:您如何正式(以编程方式)定义“搜索引擎友好URL是什么”。我假设你已经有一些方法可以做到这一点。所以剩下...如何检查网站上的所有链接。所以对于(2),我会看类似Anemone的内容这将使您轻松抓取完整的网站:AnemoneisaRubylibr

相当于 PyQuery 或 Nokogiri 的 PHP?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭6年前。Improvethisquestion基本上,我想做一些HTML屏幕抓取,但要弄清楚在PHP中是否可行。在Python中,我会使用PyQuery.在Ruby中,我会使用Nokogiri.

html - 从 DOM 使用 Nokogiri 获取背景图像?

我正在抓取一个网站,但我无法获取图像,因为它们加载了背景图像CSS。有没有办法在不使用Phantom.js或Sentinel的情况下使用Nokogiri获取这些属性?背景图片实际上使用了内联样式,所以我应该可以。我必须从一组URLS中获取图像: 我通过Mechanize使用Nokogiri,但不知道如何正确编写:image=agent.get(doc.parser.at('.zoomLens')["background-image"]).save("okaimages/f_deco-#{counter}.jpg") 最佳答案

html - 从 DOM 使用 Nokogiri 获取背景图像?

我正在抓取一个网站,但我无法获取图像,因为它们加载了背景图像CSS。有没有办法在不使用Phantom.js或Sentinel的情况下使用Nokogiri获取这些属性?背景图片实际上使用了内联样式,所以我应该可以。我必须从一组URLS中获取图像: 我通过Mechanize使用Nokogiri,但不知道如何正确编写:image=agent.get(doc.parser.at('.zoomLens')["background-image"]).save("okaimages/f_deco-#{counter}.jpg") 最佳答案

ruby - 从标签中提取 HTML5 数据属性

我想从标签中提取所有HTML5数据属性,就像thisjQueryplugin.例如,给定:JoeBloggs我想得到这样的哈希:{'data-age'=>'50','data-location'=>'London'}我最初希望使用通配符作为我的CSS选择器的一部分,例如Nokogiri(html).css('span[@data-*]').size但似乎不支持。 最佳答案 选项1:抓取所有数据元素如果您只需要列出页面的所有数据元素,这里有一个单行代码:Hash[doc.xpath("//span/@*[starts-with(nam

ruby - 从标签中提取 HTML5 数据属性

我想从标签中提取所有HTML5数据属性,就像thisjQueryplugin.例如,给定:JoeBloggs我想得到这样的哈希:{'data-age'=>'50','data-location'=>'London'}我最初希望使用通配符作为我的CSS选择器的一部分,例如Nokogiri(html).css('span[@data-*]').size但似乎不支持。 最佳答案 选项1:抓取所有数据元素如果您只需要列出页面的所有数据元素,这里有一个单行代码:Hash[doc.xpath("//span/@*[starts-with(nam

html - 在两个 HTML 注释之间进行选择的 XPath?

我有一个很大的HTML页面。但我想使用Xpath选择某些节点:........sometextSomemoreelements.......我可以在之后选择HTML使用:"//comment()[.='begincontent']/following::*"我还可以在之前选择HTML使用:"//comment()[.='endcontent']/preceding::*"但是我必须要有XPath才能选择两个评论之间的所有HTML吗? 最佳答案 我会寻找在第一个注释之前和在第二个注释之后的元素:doc.xpath("//*[prece

html - 在两个 HTML 注释之间进行选择的 XPath?

我有一个很大的HTML页面。但我想使用Xpath选择某些节点:........sometextSomemoreelements.......我可以在之后选择HTML使用:"//comment()[.='begincontent']/following::*"我还可以在之前选择HTML使用:"//comment()[.='endcontent']/preceding::*"但是我必须要有XPath才能选择两个评论之间的所有HTML吗? 最佳答案 我会寻找在第一个注释之前和在第二个注释之后的元素:doc.xpath("//*[prece

html - 阻止 Nokogiri 添加 DOCTYPE 和元标记?

我正在尝试使用Nokogiri将一些模板文件从一种格式转换为另一种格式。但它不断添加标签。我试图阻止它添加Doctype和元标记,但无法弄清楚。我试过了@doc=Nokogiri::HTML.parse(r)但这会添加标签。我也试过@doc=Nokogiri::HTML.fragment(r)如“HowtopreventNokogirifromaddingtags?”中所建议的那样,但会删除任何,,或文档中的标签。如果重要的话,我读取文件的代码是:f=File.read(infile)r=f.gsub(/]*)>/,'{{{\1}}}')@doc=Nokogiri::HTML.frag

html - 阻止 Nokogiri 添加 DOCTYPE 和元标记?

我正在尝试使用Nokogiri将一些模板文件从一种格式转换为另一种格式。但它不断添加标签。我试图阻止它添加Doctype和元标记,但无法弄清楚。我试过了@doc=Nokogiri::HTML.parse(r)但这会添加标签。我也试过@doc=Nokogiri::HTML.fragment(r)如“HowtopreventNokogirifromaddingtags?”中所建议的那样,但会删除任何,,或文档中的标签。如果重要的话,我读取文件的代码是:f=File.read(infile)r=f.gsub(/]*)>/,'{{{\1}}}')@doc=Nokogiri::HTML.frag