簡體   English   中英

Ruby on Rails中的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是用於Web應用程序的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

暫無
暫無

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

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