Я хочу, чтобы убрать данные со страницы списка дорожек в 1001tracklists. Пример из URL является:Скребковые данные треков из HTML?
http://www.1001tracklists.com/tracklist/25122_lange-intercity-podcast-115-2013-03-06.html
Вот пример того, как данные отображаются на странице:
Above & Beyond - Black Room Boy (Above & Beyond Club Mix) [ANJUNABEATS]
Я хотел бы, чтобы вытащить все песни с этой страницы в следующем формате :
$byArtist - $name [$publisher]
после просмотра HTML для этой страницы, оказывается содержание я после того, как хранится в HTML5 мета формате микроданных:
<td class="" id="tlptr_433662">
<a name="tlp_433662"></a>
<div itemprop="tracks" itemscope itemtype="http://schema.org/MusicRecording" id="tlp5_content">
<meta itemprop="byArtist" content="Above & Beyond">
<meta itemprop="name" content="Black Room Boy (Above & Beyond Club Mix)">
<meta itemprop="publisher" content="ANJUNABEATS">
<meta itemprop="url" content="/track/103905_above-beyond-black-room-boy-above-beyond-club-mix/index.html">
<span class="tracklistTrack floatL"id="tr_103905" ><a href="/track/103905_above-beyond-black-room-boy-above-beyond-club-mix/index.html" class="">Above & Beyond - Black Room Boy (Above & Beyond Club Mix)</a> </span><span class="floatL">[<a href="/label/1037_anjunabeats/index.html" title="Anjunabeats">ANJUNABEATS</a>]</span>
<div id="tlp5_actions" class="floatL" style="margin-top:1px;">
Имеется селектор CSS с значением «tlp_433662». Каждая песня на странице будет иметь свой собственный уникальный идентификатор. У одного будет «tlp_433662», а у следующего будет «tlp_433628» или что-то подобное.
Есть ли способ извлечь все песни, перечисленные на странице списка треков, с помощью Nokogiri и XPath? Я, вероятно, захочу «сделать» «каждый» по моим «данным», указанным ниже, чтобы скребок перебирал данные, извлекающие каждый набор релевантных данных. Вот это начало моей программы Руби:
require 'rubygems'
require 'nokogiri'
require 'open-uri'
url = "http://www.1001tracklists.com/tracklist/25122_lange-intercity-podcast-115-2013-03-06.html"
data = Nokogiri::HTML(open(url))
# what do do next? print out xpath loop code which extracts my data.
# code block I need help with
data.xpath.........each do |block|
block.xpath("...........").each do |span|
puts stuff printing out what I want.
end
end
Моя конечная цель, которую я знаю, как сделать, чтобы принять этот сценарий Ruby, чтобы Синатры в «Webify» данные и добавить некоторые интересные Twitter Bootstrap CSS, как показано в этом видео на youtube: http://www.youtube.com/watch?v=PWI1PIvy4A8
Можете ли вы помочь мне с блоком кода XPath, чтобы я мог очистить данные и распечатать массив?
Try ' // div [@ itemtype = "http://schema.org/MusicRecording"] ' – Blender
Вы должны как минимум _try_ сделать это сами, прежде чем обращаться за помощью. – pguardiario
Я пробовал, и именно поэтому я спрашиваю.Часть xpath является новой для меня, и я прочитал документацию, но у меня все еще есть проблемы. Я искал и не стал бы задавать этот вопрос, если бы не дал ему несколько попыток учиться. – god