3
我已經寫了一個紅寶石刮網。但是我刮的網站改變了他們的設計,所以我的刮板正在失敗。是否有一個聰明而簡單的解決方案來解決這種刮刀的固有問題? (對於如..使用某種模式匹配,XPath的,比較DOM髮辮...等)如何讓我的網站設計變更寬容?
EM.run {
http_request = EM::HttpRequest.new(url, opts).get
http_request.callback { |body|
doc = Nokogiri.parse(body.response)
doc = Nokogiri::HTML(body.response)
puts doc.css(".poster_information")
puts doc.css(".date")
puts doc.css(".comment_block")
}
在上述示例代碼段我刮海報信息的上述網站,發佈日期及評論在一個網頁的CSS選擇器的幫助下發布。現在假設網站管理員更改論壇的佈局。 CSS選擇器將失敗,因此我的整個刮板將失敗。每當網站的佈局發生變化時,我都不想更新我的刮板。那麼,有沒有什麼方法可以讓我的刮板檢測到網站佈局的變化,並且能夠正確地找到所需目的地的路徑?因爲我無法知道網站何時會改變..我只是想讓我的刮板自動和容錯
要求網站爲您提供API? – Seth 2012-07-14 01:38:45
如果沒有您的源代碼或您想要解析的代碼和網站的詳細說明,我們無法幫助您。 – 2012-07-14 18:05:40
我編輯的問題...提供了一個代碼片段和網站即時通訊試圖解析... – 2012-07-16 22:25:02