通过Selector Style Scraping查找

时间:2017-11-30 18:55:19

标签: css ruby mechanize

我正在做一个" Scraper"对于我的大学,我需要选择所有的" tbody"包含"背景颜色:#bebeff"。我尝试了几个w3schools选择器,我不能这样做。有没有办法做到这一点?。

Image

顺便说一下,我使用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

我希望有一些解决方案。

问候并感谢你们。

1 个答案:

答案 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