我比较新的解析,并希望得到更多的练习。我想解析下面的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