2010-07-14 168 views
0

去年,我在一些perl程序中進行了簡單的搜索。我寫的第一件事是一個簡單的腳本,它使用一個網頁,並找出該頁面上的單詞或名稱的次數。我把這稱爲「爬行」是否正確?我想知道如果這是其他語言如PHP和ROR的本地進程。基本上,我想爲沒有公共「API」的站點構建我自己的「API」,並可能從另一個站點的另一個「API」動態傳遞關鍵字(僅用於讀取和組織公開數據)。對不起,我的頭最近剛剛進入雲端的抽象程度很高。「抓取」關鍵字的頁面/網站

回答

4

你的問題是非常容易理解的,事實上很多人/公司已經做到了,但是你很久以前就沒有做過。鬆散地說,「爬行」通常指的是使用html頁面中的錨標籤作爲節點之間的邊緣的互聯網的寬度或深度首次搜索。

你在perl中做了什麼基本上只是搜索了一個html字符串。

對於您的API,我會建議找到一個DOM解析器,以便您不必打擾解析html字符串和生成的固有錯誤。

幾年前我開始爲馬薩諸塞州的公寓價格區域生成一些數據,所以我寫了一些爬行程序來提取craigslist上的所有公寓列表並將它們扔在數據庫中。

如果有人有興趣,我可以繼續,但它超出了這個答案的範圍。

喔是啊,這是在PHP ...

+0

剛剛看了我的代碼,我用了原生的「DOMDocument」類:http://php.net/DOMDocument – umassthrower 2010-07-14 03:45:33

+0

這裏是我提到的類的txt。 我不記得我是否在寫這篇文章的時候小心謹慎,而且有幾個地方我對硬件進行了硬編碼,但我希望這是一個很好的例子,可以幫助您開始。 http://jeffreyjason.com/Craigslist.class.php.txt http://jeffreyjason.com/HTMLParser.class.php.txt 注意:我沒有在這裏發佈任何數據,嚴格獲取。 – umassthrower 2010-07-14 03:53:57

+0

非常感謝我認爲我現在明白了很多。 – ThomasReggi 2010-07-14 15:12:41

2

如果我理解正確的話,你想採取一個URL,它傳遞給你的程序,並把它抓取網站尋找用戶提供的關鍵字?

如果這是正確的,那麼不,這不是任何語言的本地進程,你將不得不自己編寫必要的邏輯。每個語言/框架(請注意,ROR不是一種語言,它是一個基於Ruby語言構建的框架)有一些工具可以幫助你(例如,在Ruby中,你應該看看Nokogiri gem解析HTML),但你將不得不提供大部分的邏輯。

這不是一件很難做的事情,但這需要花費一些時間和精力。祝你好運。