Web抓取Nokogiri无法选择任何课程

时间:2017-10-09 19:20:09

标签: ruby web-scraping web-crawler nokogiri

我正在使用此页面: https://jsfiddle.net/8z67g96b/

我正在尝试获取此元素:class =“_ XWk”

  page = HTTParty.get('https://www.google.com/search?q=ford+fusion+msrp&oq=ford+fusion+msrp&aqs=chrome.0.0l6.11452j0j7&sourceid=chrome&ie=UTF-8')

  parse_page = Nokogiri::HTML(page)
  parse_page.css('_XWk')

在这里,我可以在parse_page中看到整个页面,但是当我尝试.cc('classname')时,我看不到任何内容。我使用这种方法的方法是错误的吗?

2 个答案:

答案 0 :(得分:0)

看起来有些东西正在交换类,所以你在浏览器中看到的并不是你从http调用中获得的东西。在这种情况下,从_XWk到_tA

  page = HTTParty.get('https://www.google.com/search?q=ford+fusion+msrp&oq=ford+fusion+msrp&aqs=chrome.0.0l6.11452j0j7&sourceid=chrome&ie=UTF-8')
  parse_page = Nokogiri::HTML(page)
  parse_page.css('._tA').map(&:text) 

# >>["Up to 23 city / 34 highway", "From $22,610", "175 to 325 hp", "192″ L x 73″ W x 58″ H", "3,431 to 3,681 lbs"]

答案 1 :(得分:0)

parse_page.css('_XWk')更改为parse_page.css('._XWk')

注意点(.)的区别。点引用了一个类。

使用parse_page.css('_XWk'),nokogiri不知道_XWk是类,id,数据属性等。