Rails Ruby 中的 DOMDocument
DOMDocument in Ruby on Rails
只是想知道是否可以将此 php 脚本转换为 rails
$c = file_get_contents('http://www.bunnings.com.au/products_category_plumbing-supplies_1637.aspx');
$dom = new DOMDocument();
$dom->loadHTML($c);
$xpath = new DOMXPath($dom);
$div = $xpath->query('//div[@class="details"]');
echo '<table>';
foreach($div as $details)
{
$name = $details->getElementsByTagName('h4')->item(0)->getElementsByTagName('a')->item(0)->nodeValue;
$price = $details->getElementsByTagName('p')->item(0)->getElementsByTagName('span')->item(0)->nodeValue;
$itemNumber = $details->getElementsByTagName('p')->item(0)->childNodes->item(2)->nodeValue;
$html = '<tr>';
$html .= '<td>' . htmlspecialchars($name) . '</td>';
$html .= '<td>' . htmlspecialchars($price) . '</td>';
$html .= '<td>' . htmlspecialchars($itemNumber) . '</td>';
$html .= '</tr>';
echo $html;
}
echo '</table>';
Rails 是一个 Ruby 网络应用程序框架。您需要的是一个简单的 Ruby 脚本(当然,您可以将其集成到更大的 Rails 应用程序中)。
您可以使用 nokogiri gem 来解析 HTML。在您的终端上:
gem install nokogiri
然后像这样创建一个新的 .rb 文件:
require 'open-uri'
require 'nokogiri'
url = 'http://www.bunnings.com.au/products_category_plumbing-supplies_1637.aspx'
doc = Nokogiri::HTML(open(url))
div = doc.xpath('//div[@class="details"]')
# Well, I guess you should continue now
有关 Nokogiri 示例,请参阅 http://www.nokogiri.org/tutorials/searching_a_xml_html_document.html。
只是想知道是否可以将此 php 脚本转换为 rails
$c = file_get_contents('http://www.bunnings.com.au/products_category_plumbing-supplies_1637.aspx');
$dom = new DOMDocument();
$dom->loadHTML($c);
$xpath = new DOMXPath($dom);
$div = $xpath->query('//div[@class="details"]');
echo '<table>';
foreach($div as $details)
{
$name = $details->getElementsByTagName('h4')->item(0)->getElementsByTagName('a')->item(0)->nodeValue;
$price = $details->getElementsByTagName('p')->item(0)->getElementsByTagName('span')->item(0)->nodeValue;
$itemNumber = $details->getElementsByTagName('p')->item(0)->childNodes->item(2)->nodeValue;
$html = '<tr>';
$html .= '<td>' . htmlspecialchars($name) . '</td>';
$html .= '<td>' . htmlspecialchars($price) . '</td>';
$html .= '<td>' . htmlspecialchars($itemNumber) . '</td>';
$html .= '</tr>';
echo $html;
}
echo '</table>';
Rails 是一个 Ruby 网络应用程序框架。您需要的是一个简单的 Ruby 脚本(当然,您可以将其集成到更大的 Rails 应用程序中)。
您可以使用 nokogiri gem 来解析 HTML。在您的终端上:
gem install nokogiri
然后像这样创建一个新的 .rb 文件:
require 'open-uri'
require 'nokogiri'
url = 'http://www.bunnings.com.au/products_category_plumbing-supplies_1637.aspx'
doc = Nokogiri::HTML(open(url))
div = doc.xpath('//div[@class="details"]')
# Well, I guess you should continue now
有关 Nokogiri 示例,请参阅 http://www.nokogiri.org/tutorials/searching_a_xml_html_document.html。