2016年7月7日 星期四

Python 網頁擷取(爬蟲) 實作 -以Yahoo拍賣為例

以Yahoo拍賣為例
擷取標頭文字、價錢,如下圖畫紅圈



使用google chrome開發者工具,擷取網頁URL


使用InfoLite 擷取網頁原始碼

-----------------------------------------------------------------------------------------

擷取網頁區塊.srp-pdconten
下圖紅框部分
InfoLite

-----------------------------------------------------------------------------------------

擷取標頭文字 .srp-pdtitle
綠色部分

InfoLite

-----------------------------------------------------------------------------------------

擷取價錢 .srp-pdprice
黃色部分
InfoLite


-----------------------------------------------------------------------------------------
程式碼:

import requests
from bs4 import BeautifulSoup

res = requests.get("https://tw.search.bid.yahoo.com/search/product;_ylt=AlVvPYF4uAi_N312wTXpbl1yFbN8;_ylv=3?p=iphone+6+plus+%E6%89%8B%E6%A9%9F%E6%AE%BC&property=auction&sub_property=auction&srch=product&aoffset=0&poffset=0&pg=1&pptf=3&act=srp&rescheck=1&pmt=30&its=16&cid=4638850&clv=4&sort=etime&nst=1&fr=aucpromo&show=pic&show_flag=1&view=pic&hpp=hp_topkeyword_04_07&fr=aucpromo")

soup = BeautifulSoup(res.text)

count = 1

for item in soup.select(' .srp-pdcontent'):
    print '======[',count,']========='
    print item.select(' .srp-pdtitle')[0].text.strip()
    print item.select(' .srp-pdprice')[0].text.strip()
    count += 1


-----------------------------------------------------------------------------------------

執行結果:






Python 網頁擷取(爬蟲) 安裝相關套件

安裝Python版本: Python 2.7


步驟:
1.安裝 Python 2.7
2.檢查是否有安裝 pip :Python 程式語言的套件管理程式
3.安裝Requests套件:網路資源(URLs)擷取套件
4.安裝BeautifulSoup4套件:HTML剖析套件


1.安裝 Python 2.7

下載網址:https://www.python.org/downloads/
並設定環境變數
Path新增    C:\;C:\System32;C:\Python27;


2.檢查是否有安裝 pip

執行cmd命令指示字元
輸入 pip
執行後有相關說明,表示已完成安裝。




3.安裝Requests套件

執行cmd命令指示字元
輸入 pip install requests
執行後等待安裝完成




4.安裝BeautifulSoup4套件
執行cmd命令指示字元
輸入 pip install BeautifulSoup4
執行後等待安裝完成



大致完成安裝

如何安裝Jupyter: http://www.largitdata.com/course/29/
InfoLite 網頁爬蟲工具




2016年5月4日 星期三

[資料探勘]資料與資料準備


  • Data Mining 問題類型
    △分類
    △預測
    ○分群
    ○關聯規則

    △監督式
    ○非監督式

  • Data Mining Mode
    ○關聯規則
    △決策樹
    類神經網路
    群集分析
    貝式網路
    約略集合理論
    多變量分析
    時間序列分析


  • 資料類型
    數值:年齡、員工年資
    字元與字串:男、女
    布林:true、false
    時間性資料:
        序列:網站點擊順序
        時間序列:台灣每天的溫度資料
    空間資料:亞洲區域的溫度資料
    文字資料
    多媒體資料

  • 資料尺度
    名目:學號、身份證字號
    類別:郵遞區號
    順序:比賽名次、產品品質等級
    間距:衡量溫度的尺度,攝氏49度C與50度C溫差等於85度C與86度C的溫差
    比率:時間長短、貨幣面額
    絕對:機率值

  • 資料檢視
1.位置測度
     平均數  μ
       幾何平均值 G
       調和平均值 H
     中位數  Md
     眾數   Mo

2.趨勢測度
    全距   R
    四分位差   QD
    變異數    σ^2
    標準差    σ
    變異係數   CV

3.偏態測度
    偏態係數(SK)

4.峰態測度
    峰態係數(K)


  • 資料視覺化

           直方圖
           長條圖
           圓餅圖
           盒鬚圖
           Q-Q圖
           折線圖
           散步圖
           平行座標圖


  • 資料整合清理

1.不正確的資料
2.不一致的資料
3.重複的資料
4.冗餘的資料
5.遺漏值
    直接刪去該變數值
    人工填寫遺漏值
    使用一個全域常數填充遺漏值
    使用屬性平均數
    給定屬於同一類別的所有樣本之平均值
    使用資料探勘分法來填充遺漏值
雜訊
    裝箱法
    等寬裝箱法
離群值
    直接刪除
    用其他數值替換,將資料範圍正規化
    群集分析




  • 資料轉換

資料數值轉換
    正規化
    標準化
資料屬性轉換
    離散型資料轉成連續型資料
    連續型資料轉成離散型資料
        監督式與非監督式
        對態與靜態
        全域與局部
        分割與合併
        直接的或增加的



  • 資料化約

資料維度化約
    一、特徵選取法
        步驟一:決定特徵衡量準則
            1.傳統測量法
            2.一致性測量法
            3.關聯性測量法
            4.區別測量          
            5.資訊增益測量(又稱決策樹特徵選取法)
        步驟二:選取特徵產生計畫
            1.逐步向前挑選法
            2.逐步向後刪減法
            3.混合法
            4.隨機選取法
            5.樹狀歸納法
        步驟三:特徵選取策略
            1.徹底搜尋策略
            2.啟發式搜尋策略
            3.隨機搜尋策略
        步驟四:設定停止條件
    二、主成分分析法(PCA)

資料紀錄化約
    簡單隨機抽樣
    分層隨機抽樣
    群集抽樣
    系統抽樣
    改變資料分布比例的抽樣

資料數值化約
    離散化
    概念階層

  • 資料分割

    將資料分成
        訓練資料組
        測試資料組
        驗證資料組

 

2016年5月2日 星期一

如何安裝Ubuntu Server 14.04 伺服器版本

製作安裝設備

Ubuntu正體中文站下載下來的安裝程式為iso映像檔,如果要在電腦開機的時候進入Ubuntu Server,需要將iso映像檔燒錄成可開機的光碟,或是將iso映像檔用UNetbootin等軟體裝入USB儲存裝置中,製作成可開機的USB裝置。

開始安裝

首先放入Ubuntu Server的開機光碟或是USB裝置,接著將電腦重新開機,進入BIOS的開機順序設定,將第一順位的開機裝置改為Ubuntu Server的所在裝置,儲存設定後重新開機。接著應該會看到類似以下的畫面,需要先選擇想使用的語言,建議使用國際語言─英文(English)。
ubuntu-server-14-04
然後會出現如下的選單。選擇「Install Ubuntu Server」即可開啟Ubuntu Server的安裝程式。如果要建立出兩台以上的伺服器,可以選擇「Multiple server install with MAAS」,即可使用MAAS(Metal as a Service)來快速部署,但這個不在本篇文章的討論範圍內。
ubuntu-server-14-04
進入Ubuntu Server的安裝程式後,還要再選擇一次語言,建議選擇英文(English)。
ubuntu-server-14-04
接著選擇使用伺服器的位置,如筆者的位置在台灣(Taiwan),就選擇「亞洲(Asia)->台灣(Taiwan)」。
ubuntu-server-14-04
ubuntu-server-14-04
ubuntu-server-14-04
接著要設定系統會使用到的語系,建議值為「United States - en_US.UTF-8」。
ubuntu-server-14-04
再來要設定鍵盤排列方式,沒有特殊需求的話,使用手動設定,並選擇「English(US)」就好。
ubuntu-server-14-04
ubuntu-server-14-04
ubuntu-server-14-04
等待一段時間讓安裝程式自行處理一下。
ubuntu-server-14-04
如果有多張網路卡(網路介面)的話,選擇可以連上網際網路的那張。
ubuntu-server-14-04
Ubuntu Server的網路可以在安裝完作業系統之後再來設定,可以參考以下這篇文章:
然後設定主機名稱
ubuntu-server-14-04
設定使用者名稱
ubuntu-server-14-04
設定使用者帳號。
ubuntu-server-14-04
設定使用者密碼。
ubuntu-server-14-04
再次輸入使用者密碼。
ubuntu-server-14-04
選擇是否加密家目錄。非必要,可以不用加密。
ubuntu-server-14-04
設定時區。台灣使用的時區為「Asia/Taipei」,Ubuntu Server安裝程式會自動選擇符合的時區
ubuntu-server-14-04
接著要設定硬碟,Server的話建議使用LVM(Logical Volume Manager)來管理硬碟空間,方便日後的擴充。
ubuntu-server-14-04
ubuntu-server-14-04
ubuntu-server-14-04
ubuntu-server-14-04
ubuntu-server-14-04
等候安裝。
ubuntu-server-14-04
設定代理伺服器(Proxy)。若不設定代理伺服器,直接留空即可。
ubuntu-server-14-04
繼續等待Ubuntu Server安裝程式完成設定。
ubuntu-server-14-04
設定系統如何進行更新。為求Server的穩定,筆者通常不使用自動更新,而會以apt-get來自行做手動更新。
ubuntu-server-14-04
選擇要額外預先安裝的軟體。由於筆者會使用SSH來管理Ubuntu Server,因此安裝了「OpenSSH Server」。有關於使用SSH來遠端操作Linux作業系統的方法,可以參考這篇文章:
ubuntu-server-14-04
繼續等候安裝。
ubuntu-server-14-04
選擇是否要安裝GRUB開機管理器。建議安裝,不然就要自己處理開機問題。
ubuntu-server-14-04
到這裡完成安裝,即可重新開機!
ubuntu-server-14-04
開機成功就可以看到Ubuntu Server的登入畫面。
ubuntu-server-14-04
輸入安裝的時候填寫的使用者帳號和密碼,就可以登入了。
ubuntu-server-14-04

更新Ubuntu Server

安裝好Ubuntu Server後,再來就是將系統版本一次更新到最新,以免遇到太多安全性漏洞以及程式的BUG。
輸入以下指令進行更新:
sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade
ubuntu-server-14-04
資料來源:https://magiclen.org/ubuntu-server-14-04/