我比較新的解析,並希望得到更多的練習。我想解析下面的URL:http://www.goodreads.com/quotes/tag/hard-work。用Xpath和Nokogiri選擇一個特定的div元素?
我想抓住所有標記爲「努力工作」的引號。這是該站點代碼分解爲:
<div class="content">
<div id="siteheader" class="uitext">
<div class="mainContentContainer ">
<div class="mainContent">
<div id="premiumAdTop">
<div class="mainContentFloat">
<div id="flashContainer"> </div>
<div id="connectPrompt" style="">
<img style="float: left; margin: -3px 5px 0px 0px" src="http://s.gr-assets.com/assets/quote/quote_tiny-566b7de5e1ac5becd0dd8b2856f59228.jpg" alt="quote">
<h1>Quotes About Hard Work</h1>
<div class="leftContainer">
<div class="mediumText">
<div class="quote mediumText ">
<div class="quoteDetails ">
<a class="leftAlignedImage" href="/author/show/3916262.Babe_Ruth">
<div class="quoteText">
「It's hard to beat a person who never gives up.」
<br>
―
<a href="/author/show/3916262.Babe_Ruth">Babe Ruth</a>
</div>
現在我的代碼是:
require "rubygems"
require "open-uri"
require "nokogiri"
@page = Nokogiri::HTML(open("http://goodreads.com/quotes"))
@div = @page.xpath("html/body/div[1]")
但結果不給我我想要的輸出。
我想我應該調用的方法each
和collect
,但我就是不知道怎麼去,我要的節點,我相信在這裏包含的某個地方:
<div id="connectPrompt" style="">
<img style="float: left; margin: -3px 5px 0px 0px" src="http://s.gr-assets.com/assets/quote/quote_tiny-566b7de5e1ac5becd0dd8b2856f59228.jpg" alt="quote">
<h1>Quotes About Hard Work</h1>
<div class="leftContainer">
<div class="mediumText">
<div class="quote mediumText ">
<div class="quoteDetails ">
<a class="leftAlignedImage" href="/author/show/3916262.Babe_Ruth">
<div class="quoteText">
「It's hard to beat a person who never gives up.」
<br>
―
<a href="/author/show/3916262.Babe_Ruth">Babe Ruth</a>
</div>
能
人請指點我正確的方向嗎?我需要進入div類才能獲得我想要的東西?
你說你想解析'http:// www.goodreads.com/quotes/tag/hard-work',但是你的代碼獲取'http:// www.goodreads.com/quotes',那它是哪一個呢? ?此外,您不指定要從頁面中提取的內容 - 只包括引號文本,其周圍的直接「div」,引用和作者,另一個包含「div」的其他內容。你需要更具體。 – matt
嗨馬特!我想在網站www.good.reads.com上提取所有標記爲「努力工作」的引號。在我看來,唯一的方法是解析http://goodreads.com/quotes。 我想要報價和作者的名字。希望有所幫助。感謝您的幫助。 – Uzzar