我試圖從谷歌的主頁使用Nokogiri自動更正拼寫。爲什麼它在包含內容時返回空數組?
例如,如果我輸入「hw did」,正確的拼寫是「怎麼做」,我必須得到正確的拼寫。
我嘗試了xpath
和css
方法,但在這兩種情況下,我都得到了相同的空數組。
我得到了使用FireBug的XPath和CSS路徑。
這裏是我的引入nokogiri代碼:
@requ=params[:search]
@[email protected](" ","+") //to encode the url(if user inputs space than it should be convet into +)
@doc=Nokogiri::HTML(open("https://www.google.co.in/search?q=#{@requ_url}"))
binding.pry
這裏是我的XPath和CSS選擇器:
使用XPath:
pry(#<SearchController>)> @doc.xpath("/html/body/div[5]/div[2]/div[6]/div/div[4]/div/div/div[2]/div/p/a").inspect
=> "[]"
使用CSS:
pry(#<SearchController>)> @doc.css('html body#gsr.srp div#main div#cnt.mdm div.mw div#rcnt div.col div#center_col div#taw div div.med p.ssp a.spell').inner_text()
=> ""
您可能正在使用錯誤的xpath,螢火蟲可能已經修改了html嘗試下面的內容,但未經過測試,但是從Chrome開發人員工具中複製而成 '// * [@ id =「gsr」]/table/tbody/tr/td [2]/table/tbody/tr [1]/td/div/table/tbody/tr/td [1]/span'btw你不應該依賴谷歌這樣的事情或者你正在做的事情它可以在未通知您的情況下明天更改其設計 – bjhaid
爲什麼您的示例中有'
'標籤?你添加了它們,還是從一些HTML源代碼複製? –
@tin男人,不,我沒有任何br標籤在我的例子中,這裏只是爲了格式化我的問題在stackoverflow。 – NamingException