У меня есть список колледжей баскетбола в моей базе данных. Имена совпадают точно так же, как они найдены на этом сайте, я пытаюсь разобрать. Веб-сайт - большой стол. Я хочу выбрать/сопоставить определенные ячейки на основе этих команд в моей базе данных. У меня нет предпочтения, если это метод выбора css или xpath. Что бы ни работало. Вот небольшой пример возвращения (добавлено переносами для визуальных целей):Выбор точных данных через Nokogiri
doc = Nokogiri::HTML(open("http://kenpom.com/"))
=> #<Nokogiri::XML::Element:0x3fd7f39c14e4 name="tbody"
children=[#<Nokogiri::XML::Text:0x3fd7f39c1174 "\n">, #<Nokogiri::XML::Element:0x3fd7f39c0fd0 name="tr"
children=[#<Nokogiri::XML::Element:0x3fd7f39c0cd8 name="td"
children=[#<Nokogiri::XML::Text:0x3fd7f39c0a6c "1">]>, #<Nokogiri::XML::Element:0x3fd7f39c0800 name="td" attributes=[#<Nokogiri::XML::Attr:0x3fd7f39c0774 name="style" value="text-align:left;">]
children=[#<Nokogiri::XML::Element:0x3fd7f39c0224 name="a" attributes=[#<Nokogiri::XML::Attr:0x3fd7f39c01c0 name="href" value="team.php?team=Kentucky">]
children=[#<Nokogiri::XML::Text:0x3fd7f39bdc40 "Kentucky">]>, #<Nokogiri::XML::Text:0x3fd7f39bda38 " ">, #<Nokogiri::XML::Element:0x3fd7f39bd984 name="span" attributes=[#<Nokogiri::XML::Attr:0x3fd7f39bd90c name="class" value="seed">]
children=[#<Nokogiri::XML::Text:0x3fd7f39bd3d0 "1">]>]>, #<Nokogiri::XML::Element:0x3fd7f39bd100 name="td"
children=[#<Nokogiri::XML::Element:0x3fd7f39bcebc name="a" attributes=[#<Nokogiri::XML::Attr:0x3fd7f39bce58 name="href" value="conf.php?c=SEC">]
children=[#<Nokogiri::XML::Text:0x3fd7f39bc994 "SEC">]>]>, #<Nokogiri::XML::Element:0x3fd7f39bc69c name="td"
children=[#<Nokogiri::XML::Text:0x3fd7f39bc480 "38-1">]>, #<Nokogiri::XML::Element:0x3fd7f39bc2b4 name="td"
children=[#<Nokogiri::XML::Text:0x3fd7f39bc070 ".9757">]>, #<Nokogiri::XML::Element:0x3fd7f39b9d34 name="td" attributes=[#<Nokogiri::XML::Attr:0x3fd7f39b9cd0 name="class" value="divide">]
children=[#<Nokogiri::XML::Text:0x3fd7f39b967c "119.3">]>, #<Nokogiri::XML::Element:0x3fd7f39b93d4 name="td"
children=[#<Nokogiri::XML::Element:0x3fd7f39b9140 name="span" attributes=[#<Nokogiri::XML::Attr:0x3fd7f39b90b4 name="class" value="seed">]
children=[#<Nokogiri::XML::Text:0x3fd7f39b8a10 "5">]>]>, #<Nokogiri::XML::Element:0x3fd7f39b86dc name="td"
children=[#<Nokogiri::XML::Text:0x3fd7f39b82a4 "86.5">]>, #<Nokogiri::XML::Element:0x3fd7f39b5fcc name="td"
children=[#<Nokogiri::XML::Element:0x3fd7f39b5db0 name="span" attributes=[#<Nokogiri::XML::Attr:0x3fd7f39b5d24 name="class" value="seed">]
children=[#<Nokogiri::XML::Text:0x3fd7f39b57e8 "2">]>]>, #<Nokogiri::XML::Element:0x3fd7f39b54b4 name="td" attributes=[#<Nokogiri::XML::Attr:0x3fd7f39b5450 name="class" value="divide">]
children=[#<Nokogiri::XML::Text:0x3fd7f39b4e38 "63.5">]>, #<Nokogiri::XML::Element:0x3fd7f39b4ab4 name="td"
children=[#<Nokogiri::XML::Element:0x3fd7f39b4820 name="span" attributes=[#<Nokogiri::XML::Attr:0x3fd7f39b47bc name="class" value="seed">]
children=[#<Nokogiri::XML::Text:0x3fd7f39b4258 "251">]>]>, #<Nokogiri::XML::Element:0x3fd7f39b1ef4 name="td" attributes=[#<Nokogiri::XML::Attr:0x3fd7f39b1e54 name="class" value="divide">]
children=[#<Nokogiri::XML::Text:0x3fd7f39b1904 "+.048">]>, #<Nokogiri::XML::Element:0x3fd7f39b1710 name="td"
children=[#<Nokogiri::XML::Element:0x3fd7f39b1314 name="span" attributes=[#<Nokogiri::XML::Attr:0x3fd7f39b1288 name="class" value="seed">]
children=[#<Nokogiri::XML::Text:0x3fd7f39b0cfc "69">]>]>, #<Nokogiri::XML::Element:0x3fd7f39b0810 name="td" attributes=[#<Nokogiri::XML::Attr:0x3fd7f39b0798 name="class" value="divide">]
children=[#<Nokogiri::XML::Text:0x3fd7f39add68 ".6829">]>, #<Nokogiri::XML::Element:0x3fd7f39adb88 name="td"
children=[#<Nokogiri::XML::Element:0x3fd7f39ad980 name="span" attributes=[#<Nokogiri::XML::Attr:0x3fd7f39ad91c name="class" value="seed">]
children=[#<Nokogiri::XML::Text:0x3fd7f39ad430 "31">]>]>, #<Nokogiri::XML::Element:0x3fd7f39ad0ac name="td"
children=[#<Nokogiri::XML::Text:0x3fd7f39ace90 "106.0">]>, #<Nokogiri::XML::Element:0x3fd7f39acc9c name="td"
children=[#<Nokogiri::XML::Element:0x3fd7f39aca94 name="span" attributes=[#<Nokogiri::XML::Attr:0x3fd7f39aca1c name="class" value="seed">]
children=[#<Nokogiri::XML::Text:0x3fd7f39ac5a8 "31">]>]>, #<Nokogiri::XML::Element:0x3fd7f39ac2b0 name="td"
children=[#<Nokogiri::XML::Text:0x3fd7f39ac0a8 "99.2">]>, #<Nokogiri::XML::Element:0x3fd7f39a9ed4 name="td"
children=[#<Nokogiri::XML::Element:0x3fd7f39a9c90 name="span" attributes=[#<Nokogiri::XML::Attr:0x3fd7f39a9bc8 name="class" value="seed">]
children=[#<Nokogiri::XML::Text:0x3fd7f39a96f0 "29">]>]>, #<Nokogiri::XML::Element:0x3fd7f39a9394 name="td" attributes=[#<Nokogiri::XML::Attr:0x3fd7f39a9308 name="class" value="divide">]
children=[#<Nokogiri::XML::Text:0x3fd7f39a8c78 ".5560">]>, #<Nokogiri::XML::Element:0x3fd7f39a8a5c name="td"
children=[#<Nokogiri::XML::Element:0x3fd7f39a8714 name="span" attributes=[#<Nokogiri::XML::Attr:0x3fd7f39a864c name="class" value="seed">]
children=[#<Nokogiri::XML::Text:0x3fd7f39a8084 "100">]>]>]>, #<Nokogiri::XML::Text:0x3fd7f3c61cd0 "\n">, #<Nokogiri::XML::Element:0x3fd7f3c61b90 name="tr"
children=[#<Nokogiri::XML::Element:0x3fd7f3c61960 name="td"
children=[#<Nokogiri::XML::Text:0x3fd7f3c61708 "2">]>,
У меня есть team.name из «Кентукки» в моей базе данных, поэтому я хочу, чтобы предназначаться звание Кентукки. Как мне это сделать?
Ранг: 1 находится на //*[@id="ratings-table"]/tbody[1]/tr[1]/td[1]
Команда: Кентукки находится на //*[@id="ratings-table"]/tbody[1]/tr[1]/td[2]
Как таргетировать/найти «ранг» путем поиска/с помощью «Кентукки»? Меня интересуют несколько других столбцов, но только этот пример должен объяснить все остальное.
Спасибо!
Добро пожаловать на переполнение стека. Когда вы запрашиваете помощь в отладке кода, мы ожидаем ввод образца, который в вашем случае будет минимальным HTML, необходимым для работы с вашим кодом. Мы ожидаем, что минимальный код продемонстрирует ваш вопрос. Вы показываете вывод 'inspect', который замедляет нашу способность помочь вам. Просмотрите другие вопросы, связанные с Nokogiri, чтобы получить представление о том, как спросить и что вам следует предоставить. –