2011-11-27 97 views
1

我有一個網站,用戶可以發佈博客條目,他們可以自己寫,但我也想給他們一個選擇,從博客網站導入他們現有的條目他們可能已經擁有了(不用擔心,只有用戶自己纔會上傳自己的內容,如果他們選擇的話)。然而,主要問題在於,現在每個用戶都可以自定義他/她的博客外觀,這意味着即使是兩個使用同一站點的用戶(例如blogspot或wordpress)也可以有完全不同的佈局和div命名。 有沒有辦法以某種方式刮這些條目與「通用」的方法或東西?不同佈局的網站抓取網站(經用戶同意)

在沒有人建議RSS之前,我已經嘗試過了,但我希望整個條目能夠上傳到我的網站上,並且只有blogspot似乎將它們存儲爲RSS中的那樣,此外,用戶將選擇要上傳的條目,而不是整個博客,這意味着他們可以選擇一個從一個回來,RSS不再存儲的條目。

我正在使用Ruby on Rails 3,並且迄今爲止都嘗試過使用Nokogiri進行刮擦。

+0

WordPress的管理控制檯中有一個'導出'選項,blogspot可能有類似的。它以XML格式導出,因此您仍然可以使用Nokogiri。應該比網站抓取實際網站更標準化。 –

+0

這非常有用,blogspot也有它,但我希望儘可能多地支持不同的博客。另外,通過刮取用戶只需複製一個鏈接並將其粘貼到我的網站,應用就可以完成剩下的工作。 – Wilfred

回答

0

有一個用於webscraping的書面的寶石,它是MECHANIZE GEM。 這很容易和有用。這和一些jQuery shinanigans應該做的伎倆。

+0

我已經在使用gem進行刮擦,Nokogiri,並且沒有問題可以用固定佈局刮擦網站,但是我的問題是用戶可能會有非常無用的佈局。最好的人有一個ID爲「entry」或div的內容,標題的ID爲「entry-title」,容易刮,但有些只是沒有什麼能真正幫助我分辨不同的組件,是我的問題。 – Wilfred