如何加載網頁並在Ruby中搜索單詞?如何加載網頁並在Ruby中搜索單詞
2
A
回答
8
下面是一個完整的解決方案:
require 'open-uri'
if open('http://example.com/').read =~ /searchword/
# do something
end
1
您還可以使用機械化的寶石,類似這樣的東西。
require 'rubygems'
require 'mechanize'
mech = WWW::Mechanize.new.get('http://example.com') do |page|
if page.body =~ /mysearchregex/
puts "found it"
end
end
3
我建議使用Nokogiri或hpricot來打開和解析HTML文檔。如果你需要一些簡單的,不需要解析HTML的東西,你可以使用內置於大多數ruby發行版的open-uri庫。如果需要更復雜的發佈表單(或登錄),您可以選擇使用機械化。
引入nokogiri可能是首選的解決方案後_why,但都是關於像這樣簡單:
require 'nokogiri'
require 'open-uri'
doc = Nokogiri(open("http://www.example.com"))
if doc.inner_text.match(/someword/)
puts "got it"
end
雙方還允許您使用搜索類似XPath查詢或CSS選擇器,它允許你搶項目例如,在class = foo的所有div中。
幸運的是,在open-uri,nokogiri和機械化之間移動並不是什麼大不了的,所以請使用第一個滿足您需求的代碼,並在您意識到需要其他代碼的功能後修改代碼庫。
6
對於這樣簡單的事情,我寧願寫幾行代碼,而不是使用完整的寶石。這裏是我會做什麼:
require 'net/http'
# let's take the url of this page
uri = 'http://stackoverflow.com/questions/1878891/how-to-load-a-web-page-and-search-for-a-word-in-ruby'
response = Net::HTTP.get_response(URI.parse(uri)) # => #<Net::HTTPOK 200 OK readbody=true>
# match the word Ruby
/Ruby/.match(response.body) # => #<MatchData "Ruby">
我可以去使用寶石,如果我需要做的比這更多,我需要實現某種算法爲它已經在的一個完成的路徑寶石
相關問題
- 1. 如何在網頁中搜索單詞
- 2. 如何打開網頁並搜索python中的單詞
- 3. 在Ruby on Rails中搜索單詞
- 4. 在Ruby中搜索單個單詞和組合單詞
- 5. 如何在Textview中搜索單詞?
- 6. 需要在ASPX頁面中搜索(並導航到搜索到的單詞)
- 7. Excel:如何搜索單詞?
- 8. 在System.Collections.Hashtable中搜索單詞
- 9. 在textarea中搜索單詞
- 10. 如何處理用UISearchBar和UITableView在單詞中搜索單詞?
- 11. 如何在單詞中搜索句子的第一個單詞
- 12. 如何在二叉搜索樹中搜索單詞?
- 13. 如何模糊搜索詞典單詞?
- 14. 搜索並突出顯示webview中顯示的html網頁中的單詞?
- 15. 如何搜索String.xml中的單詞
- 16. 在頁面加載時加載php表單搜索結果
- 17. PHP腳本在網頁上搜索單詞
- 18. 加快Trie中的單詞搜索
- 19. 構建可搜索詞彙表網頁
- 20. ruby regexp - 如何搜索一個單詞但不存在(在url/uri中)。
- 21. 如何在Pascal中加載單詞?
- 22. 如何從特定頁面搜索mediawiki API中的單詞?
- 23. 如何搜索字符串中的單詞(只是單詞)?
- 24. 清除存儲並在網格中加載搜索結果
- 25. Ruby on Rails:在上傳之前搜索文件中的單詞
- 26. 在網頁中搜索
- 27. 在網頁中搜索.Android
- 28. MySQL詞+單詞搜索
- 29. 如何在asp.net網頁搜索中處理單引號
- 30. 在單詞搜索拼圖中的表格網格中放置單詞?
對此問題的答案不是無效的,但您可能需要閱讀以下內容:http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454 – 2009-12-13 22:10:03
這很有用,謝謝 – nas 2009-12-14 07:27:17