數據挖掘工具分析北京房價 (一) 數據爬取採集

      一. 前言

         房價永遠是最讓人頭疼且激動的話題,尤爲是在帝都,多少人一生都爲了一套房子打拼。正好我也想用一個你們比較關心的話題做爲案例,把目前我開發的這套軟件進行一次完整的演練。從數據採集,到清洗,分析,和最終可視化和報告的呈現,實現一次完整的流程。一方面能夠給你們切實的分享一些有用的信息,再者能夠更好地瞭解這套軟件的使用流程。  關於本工具的介紹,可參考數據挖掘平臺介紹(綜述)——平臺簡介。html

    

         天然的,文章分爲四部分,本節是第一部分:數據爬取和採集。正則表達式

     二.  準備工做

          俗話說巧婦難爲無米之炊,沒數據,分析就沒有了意義。爲了找到合適的數據,我翻到了鏈家的官網。http://beijing.homelink.com.cn/  這裏的數據雖然遠遠算不上準確吧,畢竟掛在網上的東西和真實數據確定會有差距,但可讀性很好,數據也比較全。咱們就看看怎麼去爬取這些數據吧!算法

        鏈家官網:數據庫

         image

         總共的房源數是72964套在售,主要關心的數據是面積,價格,位置,特色,地理座標,看房用戶等(反映熱度)。咱們就看看能不能把這些數據抓到手!瀏覽器

         本次介紹的網頁採集器有以下特色:工具

  • 不須要寫正則表達式或者編寫代碼
  • 只須要將感興趣的數據選中,併爲其起名字(默認的名字亦可)
  • 設置批量執行的方法便可執行批量採集
  • 適合爬取列表型頁面
  • 簡單方便,效率較高
  • 可以爬取動態網頁和須要登陸的網頁(這種操做稍微複雜一些)

 

 

            首先把「網頁採集器」模塊拖放到算法處理器中:post

image

        下圖是 網頁採集器 的設置菜單:測試

image

    首先 填寫URL路徑,爲二手房的數據路徑,通常默認編碼爲UTF-8, 程序中作了對編碼格式的識別功能。點擊訪問網頁:編碼

    便可在主窗口中,分別以原始HTML方式和瀏覽器方式瀏覽該網頁:url

image

      我通常會選用HTML 源代碼的方式查看數據。

      將感興趣的數據,從HTML中拷貝到「篩選字段」對話框中,系統會自動查找對應的路徑

      image
image

   給屬性起個名字,好比「介紹」 ,點擊添加字段,便可完成一個屬性的添加。

     一樣的,能夠把超連接也作一樣的處理,添加字段。

image

  在選擇數據時,儘量選擇比較有表明性的數據,同時,要把數據分佈在列表的不一樣項中。

   你能夠隨時查看和修改添加的屬性,在高級選項中,點擊屬性列表:,便可查看當前添加的全部屬性,並進行增刪改查。

image
   在選擇了五個感興趣的數據以後,可點擊「開始爬取」。此時程序會嘗試在本網頁上進行一次抓取,咱們可經過這樣的嘗試判斷程序執行的準確性:

獲取了12項,同時點擊查看:

  image

  

   image

   相似的,咱們能夠將其餘包括樓層數,朝向等,都經過相似的方法進行添加。若是確實一些數據程序沒法自動發現,可經過手寫XPATH進行解決。

        3. 批量任務

       添加了多達10個屬性,並進行網頁爬取測試後,咱們認爲程序設置沒有問題了,那就能夠進行批量網頁爬取了。

       具體的方法,能夠設置批量任務屬性。 從網頁上看到,總共有6073頁:

image

  

       同時,不一樣的頁面區別僅在URL的最後: 

      http://beijing.homelink.com.cn/ershoufang/pg2/

      http://beijing.homelink.com.cn/ershoufang/pg6074/ 

       因此批量參數能夠寫成:

   http://beijing.homelink.com.cn/ershoufang/{0}/ ,能夠把須要替換的數字改成大括號括起來的形式。 

       image

    加上10ms的延時。

    將當前的爬蟲保存爲一個任務,同時起名字爲「鏈家爬蟲」

  image

    接下來,便可在菜單欄中, 運行->任務->啓動批量任務

   image

  選擇要執行的任務爲「鏈家爬蟲」:

image

設置要遍歷的模塊爲網頁採集器:

image

選取遍歷的參數:

image

設置參數列表:

   image

   能夠在左側填寫間隔,最大值和最小值生成參數,同時也能夠在右側,以每行一個參數填寫要遍歷的參數。咱們生成的參數爲1-6074

   點擊完成,便可執行批量任務:

   image

   大概在兩小時後,便可爬取全部的數據~~~哈哈哈

     image

   查看一下戰果:

image

咱們將數據導出成文件,方便下次進行分析。(也能夠保存到數據庫)

選擇文件格式,填寫文件名:

image

選擇要導出的字段,和是否要修改字段的名稱:

image

點擊肯定,便可將數據導出完畢。

任務完成!

  三. 總結

      此次戰果斐然,在兩小時內採集了七萬條數據,而整個配置的時間僅僅不到兩分鐘。可是必須發現,有不少數據是有問題的,好比面積和一些屬性爲空,會對後期作數據分析形成影響。所以下一節咱們介紹數據清洗工做,敬請期待。

相關文章
相關標籤/搜索