[英]Ruby gem Mechanize
是否可以使用控制器的render方法渲染Mechanize對象的內容? 我試過了:
def new
a = Mechanize.new
a.get('http://flickr.com/')
render :html => a.current_page
end
這會引發錯誤,以及render :text => a
, a.page
和a.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.