我正在做一个" Scraper"对于我的大学,我需要选择所有的" tbody"包含"背景颜色:#bebeff"。我尝试了几个w3schools选择器,我不能这样做。有没有办法做到这一点?。
顺便说一下,我使用Mechanize Gem和Ruby。
试试这个:
require 'mechanize'
require 'csv'
agent = Mechanize.new
page = agent.get('http://www.rockauto.com/es/catalog/')
page = page.link_with(:text => 'Español').click
page = page.link_with(:text => 'FORD').click
page = page.link_with(:text => '2012').click
page = page.link_with(:text => 'F-150').click
page = page.link_with(:text => "3.7L V6").click
page = page.link_with(:text => "Freno y Maza de Rueda").click
page = page.link_with(:text => "Pastilla de Freno").click
page = page.search('[style~=bebeff]')
puts page.inspect
我希望有一些解决方案。
问候并感谢你们。
答案 0 :(得分:0)
由于每个tbody中的样式被设置为“background:#bebeff;”,您可以尝试使用=
。 ^=
也可以。
require 'mechanize'
require 'csv'
agent = Mechanize.new
page = agent.get 'http://www.rockauto.com/es/catalog/'
page = page.link_with(text: 'Español').click
page = page.link_with(text: 'FORD').click
page = page.link_with(text: '2012').click
page = page.link_with(text: 'F-150').click
page = page.link_with(text: '3.7L V6').click
page = page.link_with(text: 'Freno y Maza de Rueda').click
page = page.link_with(text: 'Pastilla de Freno').click
page = page.search 'tbody[style="background: #bebeff; "]'
p page.inspect