DOMDocument в Ruby on Rails

просто интересно, если это возможно, чтобы преобразовать этот скрипт PHP в рельсы

$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>';

0

Решение

Rails — это Ruby Framework для веб-приложений. То, что вы просите, — это простой скрипт на Ruby (который, конечно, вы можете интегрировать в более крупное приложение Rails).

Вы можете использовать камень nokogiri для разбора 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

Увидеть http://www.nokogiri.org/tutorials/searching_a_xml_html_document.html для некоторых примеров Nokogiri.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector