我正在使用此页面: 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')时,我看不到任何内容。我使用这种方法的方法是错误的吗?
答案 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,数据属性等。