###### tags: `web crawler`,`網路爬蟲` # web crawler 基礎認識 * 網路爬蟲(英語:web crawler),也叫網路蜘蛛(spider),是一種用來自動瀏覽全球資訊網的網路機器人。 **網路爬蟲+資料分析的用途:** * 週期性地取得競爭者的資料 * 建立比價資訊 * 蒐集與分析趨勢的走向(銀行匯率、股市......) * 購物車分析 * 大數據的取得與應用 **爬蟲相關技術之HTTP通訊協定** * 網路爬蟲的對象通常是資料來源的伺服器 * 爬蟲者向Web伺服器送出HTTP請求,對方接受後將所需的網頁傳送給爬蟲者 ![](https://i.imgur.com/A8hQuVY.png) **工具的選擇** * 靜態網頁:Requests+BeautifulSoup * 動態網頁:Selenium+BeautifulSoup * 整個網站:Scrapy **步驟** 1. 使用HTTP通訊協定送出HTTP請求,取得網頁資料 2. 剖析HTML文件來定位擷取所需的網頁資料 3. 將取得的資料儲存成適當的資料形式 ![](https://i.imgur.com/ubBkkM4.png) **網頁定位的方式** * HTML的標籤名稱 * HTML的CSS選擇器的[class]屬性 * HTML的CSS選擇器的[id]屬性 * XPath表達式 * 正規表達式 * 動態網頁 **網頁定位所用的模組** * BeautifulSoup的find過濾器 * 標籤名稱、id屬性、class屬性 * BeautifulSoup的select過濾器 * 標籤名稱、id屬性、class屬性 * re * 正規表達式 * Selenium * XPath * 動態網頁 網頁定位的觀察方法 * 直接觀察HTML * 使用瀏覽器的開發人員工具(F12)