簡體   English   中英

紅寶石寶石機械化

[英]Ruby gem Mechanize

是否可以使用控制器的render方法渲染Mechanize對象的內容? 我試過了:

def new
  a = Mechanize.new
  a.get('http://flickr.com/')

  render :html => a.current_page
end

這會引發錯誤,以及render :text => aa.pagea.current_page

我知道render函數不期望使用Mechanize對象,我只是不知道它想要什么以及如何將其實現。

我正處於開發和研究Ruby的所有Web抓取框架的起步階段,我們將不勝感激。

嘗試body方法:

page = agent.get('http://www.example.net')
puts page.body[0..100]
=> "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml"

您還可以使用Nokogiri的功能更深入地研究文檔。 Mechanize是圍繞Nokogiri構建的 ,因此您可以轉到Nokogiri創建的已解析文檔,然后使用CSS或XPath訪問器定位文檔的子部分。 一旦你找到你想你可以使用什么to_html方法有引入nokogiri發出的節點或節點集的HTML。 有關信息,請參見“ 使用ruby / mechanize(和nokogiri)從html提取單個字符串 ”。

現在,盡管可行,但您可能想通過直接在頁面上重新使用內容來考慮是否違反服務條款或版權。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM