2016-03-05 117 views
1

我試圖輸出我在Google上搜索的地點的位置信息。我不想從搜索結果中手動複製/粘貼這些信息,而只是將結果輸出到一個CSV文件中,然後我可以解析並上傳到我的數據庫。嘗試輸出從Google上的搜索結果到CSV文件的結果

問題的一部分是,雖然有很多關於如何在線執行搜索時執行此操作的示例,但問題在於我不是簡單地嘗試存儲結果中的信息,而是返回的信息關於Google結果頁中單獨部分介紹的地點本身。下面是截圖給你看什麼,我只是講:

enter image description here

我想要做的是出口,其設置在包含在地圖下方的盒子結果返回餐廳的信息,而不是從餐廳列表下方的框外返回的搜索結果。

爲了更加精確,我想要做的是導出返回的信息,當我在框的底部選擇「更多地方」選項時。這樣一來,帶我到如下畫面:

enter image description here

這第二個屏幕提供給我,我要找的餐館列表,正是我要輸出到CSV此信息文件。我將如何做到這一點?

+1

你可以使用這樣的事情:http://www.crummy.com/software/BeautifulSoup/bs4/doc/ –

回答

1

實際上,我不確定這是否真的是一個Web問題本身,因爲這可以使用API​​比使用刮擦更有效。您感興趣的內容應該包含在Google提供的Places API中。下面是一些關於它的信息:

https://developers.google.com/places/ios-api/

你必須掛鉤一個谷歌帳戶,並獲得了API令牌,但它應該是免費使用。

現在,如果你確實想要去刮擦路線,沒有理由你不能在Swift中做到這一切!這確實只是拉低源代碼,檢查你感興趣的段和鏈接,並追求這些塊來將它們解析成你可以使用的數據結構。 libxml是一個便利的圖書館,可以隨時爲您提供幫助。這裏有一個關於如何在Swift項目中使用它的信息的鏈接,幷包含一些關於它如何工作的信息。

http://redqueencoder.com/wrapping-libxml2-for-swift/

+1

亞倫是對的;你的第一個選擇應該是官方的API。抓取數據很容易出錯,爲特殊情況編寫異常處理,缺少字段等。雖然它可能是一個新的API供您學習,但這是學習和構建的首要邏輯。 – idStar

1

我認爲硒會爲你做最好的工作。去試試吧。

我之前做過這種類型的東西,用來存儲網頁和搜索網站的位置,用於搜索不同的關鍵字。

祝你好運。

+0

非常感謝您的回覆。我假設你說的是這個:http://docs.seleniumhq.org/我的問題是,我已經通過Selenium網站,我不確定我會用它來達到我的目的。你能否進一步詳細說明這將如何成爲我的解決方案?再次感謝您的時間和幫助。 – syedfa

+1

通過硒教程。你會知道你如何解決你的問題。 – Devz