Мне нужна помощь в понимании того, как реализовать эту часть кода PHP в Ruby.
Прежде чем подумать: «О Боже! ЭТО МНОГО КОДА», я просто хочу, чтобы вы знали, что крошечный раздел ниже - это соответствующий код вопроса, но я включил ниже, поскольку у меня есть тенденция не включать важные факты в мой вопросы (я нуб.) Этот скрипт предназначен для проверки SERP с целью научить меня программировать:
ob_start();
include_once($fetch_url);
$page = ob_get_contents();
ob_end_clean();
$page = str_replace('<b>','',$page);
$page = str_replace('</b>','',$page);
//preg_match('/008000\">(.+)<\/font><nobr>/i', $page, $match);
preg_match_all('/<font color=#008000>(.*)<\/font>/', $page, $match);
$r = 0;
$position = '0';
Мой код Ruby выглядит следующим образом:
def clean_up_keywords(str)
str.gsub("\n", ",").delete("\r").split(',')
end
def clean_up_list(arr)
arr.reject(&:empty?).each(&:lstrip!)
end
def make_strings_url_friendly(arr)
arr.each do |e|
e.gsub!(" ", "+")
end
end
def make_urls(arr)
arr.map {|e| "http://www.google.com/search?num=100&q=" + e}
end
post '/ranked' do
dirty_list = clean_up_keywords(params[:keyword])
clean_list = clean_up_list(dirty_list)
url_ready_list = make_strings_url_friendly(clean_list)
url_list = make_urls(url_ready_list)
end
Весь скрипт PHP можно найти здесь: http://pastie.org/1899806
Весь скрипт Ruby можно найти здесь: https://github.com/MelanieS/RankyPanky/blob/master/lib/rankypanky.rb
Моя сделка заключается в том, что мне сказали, что мне не нужно реализовывать часть выходного буфера, потому что это Ruby, и это здорово для меня, потому что я не могу понять, что это такое, даже после того, как несколько человек объяснили это мне. (Когда-нибудь)
Однако в секции выходного буфера создается переменная $ page. Затем он используется в следующем разделе, где кажется, что он удаляет жирный шрифт. Мой скрипт Ruby уже позаботился об этом?
Затем средство проверки SERP, похоже, ищет результаты с этим цветом шрифта - и что тогда? положить их в массив с именем $ match?
Я думал вместо того, чтобы искать в моем коде цвет шрифта, чтобы он выполнял поиск тега в поисковой выдаче, поскольку это, кажется, единственное место, где Google использует ссылку, потому что тип тега шрифта поиска кажется отчасти устаревшим для меня.
Я надеюсь, что любой из вас скажет мне, правильно ли я понимаю этот код PHP и может дать мне подсказку или два о том, как реализовать его в Ruby. Моя главная проблема в том, чтобы знать, какие элементы PHP НЕ использовать, так как весь этот буфер вывода меня озадачил. Все, что указывает мне правильное направление, очень ценится.
Кроме того, в исходном коде PHP это делает URL-адреса Google такими (псевдокод):
"http://www.google.com/search?num=50&q=" +keyword+ "&btnG=Search"
Но в моем Ruby я просто сделал это так:
"http://www.google.com/search?num=50&q=" +keyword
Разве добавление "& btnG = Search" в конце URL не имеет значения? Когда я вручную ввожу любой URL-адрес в свой браузер, он переносит меня в то же место, но я не уверен, программно ли это имеет значение.