2009-02-14 129 views
4

你如何尋找紅寶石一個網站的源代碼,很難解釋,但繼承人的代碼爲蟒蛇做搜索網站內容

import urllib2, re 
word = "How to ask" 
source = urllib2.urlopen("http://stackoverflow.com").read() 
if re.search(word,source): 
    print "Found it "+word 
+0

此問題是的重複;代碼是完全一樣的。該用戶的名字是「PHP」,這個用戶的名字是「python」。這裏發生了什麼? – Bkkbrad 2009-02-14 17:32:52

回答

3

這裏有一種方法:

require 'open-uri' 
word = "How to ask" 
open('http://stackoverflow.com') do |f| 
    puts "Found it #{word}" if f.read =~ /#{word}/ 
end 
2

如果你想要做的就是搜索jcrossley3給了你答案。如果你想做更復雜的事情,你應該看看一個HTML解析器,它可以讓你像DOM樹一樣對待網站。看看爲什麼偉大的hpricot gem就是這麼做的。

require 'hpricot' 
require 'open-uri' 
doc = open("http://qwantz.com/") { |f| Hpricot(f) } 
doc.search("//p[@class='posted']") 
(doc/"p/a/img").each do |img| 
    puts img.attributes['class'] 
end